我试图序列化一个对象到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,则可以正常工作。 有人可以告诉我,如果我正在做什么,或者至less如果可能的话?