シリアル化可能なクラスがあり、クラスのプロパティの1つがGuid
ゲッターでを生成します。このプロパティはセッターを実装せず、シリアル化中は無視されます。それはなぜですか?プロパティをシリアル化するために、常にセッターを実装する必要があります。
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
}
}
空のセッターを実装してみたところ、正しくシリアライズされました。
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
set {}
}
}
更新:
値が決して変化しないプロパティ、または値が内部で生成されるプロパティをどのように定義すればよいか指摘できますか?
[Serializable]
ます。