我正在尝试将对象序列化为具有许多属性的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属性设置为public,则效果很好。有人可以告诉我我是否正在做某事,或者至少可以做某件事?