Я пытаюсь сериализовать объект в XML, который имеет ряд свойств, некоторые из которых доступны только для чтения.
public Guid Id { get; private set; }
Я пометил класс [Serializable] и реализовал интерфейс ISerializable.
Ниже приведен код, который я использую для сериализации моего объекта.
public void SaveMyObject(MyObject obj)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
TextWriter tw = new StreamWriter(_location);
serializer.Serialize(tw, obj);
tw.Close();
}
К сожалению, оно падает на первую строку с этим сообщением.
Исключительная ситуация InvalidOperationException:
Невозможно создать временный класс (результат = 1).
ошибка CS0200: Свойство или индексатор 'MyObject.Id' нельзя назначить - оно доступно только для чтения
Если установить публичное свойство Id, оно будет работать нормально. Может кто-нибудь сказать мне, если я что-то делаю, или, по крайней мере, если это вообще возможно?