シリアル化可能なクラスがあり、クラスのプロパティの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 {}
}
}
更新:
値が変更されないプロパティ、または値が内部で生成されるプロパティをどのように定義する必要があるかを指摘できますか?