相关疑难解决方法(0)

序列化私有成员数据

我正在尝试将对象序列化为具有许多属性的XML,其中一些属性是只读的.

public Guid Id { get; private set; }
Run Code Online (Sandbox Code Playgroud)

我已经标记了类[Serializable],我已经实现了ISerializable接口.

下面是我用来序列化对象的代码.

public void SaveMyObject(MyObject obj)
{
    XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
    TextWriter tw = new StreamWriter(_location);
    serializer.Serialize(tw, obj);
    tw.Close();
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它会在第一行显示此消息.

InvalidOperationException未处理:无法生成临时类(result = 1).错误CS0200:无法将属性或索引器"MyObject.Id"分配给 - 它是只读的

如果我将Id属性设置为public,则可以正常工作.有人可以告诉我,如果我正在做某事,或者至少是否可能吗?

.net c# xml serialization serializable

73
推荐指数
2
解决办法
6万
查看次数

标签 统计

.net ×1

c# ×1

serializable ×1

serialization ×1

xml ×1