У меня есть класс, который взаимодействует с API и должен выполнить некоторые преобразования для любых данных, которых он касается.Этот класс также эквивалентен:
public class SerializeMe
{
public SerializeMe(string someString)
{
_someString = someString;
}
private string _someString;
public string TransformedValue
{
get { _someString = TransformToSomething();
return _someString; }
set { _someString = value; }
}
}
Для моих абонентов API я регистрирую каждый запрос и ответ путем сериализации этих классов.Они действуют почти как XML-схемы.
Теперь все работает отлично, моя единственная проблема в том, что кто-то теоретически может попытаться установить и в конечном итоге не получить ожидаемые результаты.В основном это проблема дизайна, просто пытающаяся сделать мой код ответственным.Я хотел бы иметь возможность использовать закрытый набор для этого, но XmlSerializer жалуется на это.
Есть ли атрибут или другой метод, позволяющий сделать преобразованное значение неустановимым, кроме как сериализатором?
Также, если нет опции, сделать свойство устаревшим - опция.Есть ли другой более подходящий атрибут для использования?