У меня есть класс с различными общедоступными свойствами, который я разрешаю пользователям редактировать через сетку свойств. Для сохранения этот класс также сериализуется/десериализуется в/из файла XML через DataContractSerializer.
Иногда я хочу, чтобы пользователь мог сохранять (сериализовать) изменения, внесенные им в экземпляр класса. Однако в других случаях я не хочу, чтобы пользователь сохранял их изменения, и должен видеть все свойства в сетке свойств как только для чтения. Я не хочу, чтобы пользователи вносили изменения, которые они никогда не смогут сохранить позже. Подобно тому, как MS Word позволяет пользователям открывать документы, которые в настоящее время открыты кем-то другим, но только как только для чтения.
У моего класса есть логическое свойство, которое определяет, должен ли класс быть доступен только для чтения, но можно ли использовать это свойство для динамического добавления атрибутов только для чтения к свойствам класса во время выполнения? Если это не альтернативное решение? Должен ли я переносить свой класс в класс оболочки только для чтения?