最佳答案
我有一个可序列化的类,类中的一个属性在 getter 中生成一个 Guid
。该属性不实现 setter,在序列化过程中将被忽略。为什么会这样? 为了序列化属性,我总是需要实现 setter 吗。
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
}
}
我尝试实现一个空 setter,它被正确地序列化了。
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
set {}
}
}
更新 :
您能指出我应该如何定义那些其值永远不变的属性或者那些其值是内部生成的属性吗?