我正在尝试将一个对象序列化为具有许多属性的 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 未处理:无法生成临时类 (result=1)。错误 CS0200:无法将属性或索引器“MyObject.Id”分配给 -- 它是只读的
如果我将 Id 属性设置为 public 它工作正常。有人可以告诉我我是否正在做某事,或者至少是否有可能?