Я пытаюсь сериализовать объект в 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 публично, он отлично работает. Может кто-нибудь сказать мне, если я что-то делаю, или, по крайней мере, если это возможно?