DataContract で以下の 2 つのデータ メンバーを使用し、DataContractSerializer を使用すると、Name のみが期待どおりにシリアル化されます。私の問題は、ファイルを逆シリアル化するときです。「名前」は適切に読み取られてロードされますが、「タイムアウト」が存在しないため、デフォルトの「TimeSpan.FromHours(12)」のままになると予想されます。実際には、DataContractSerializer が値を割り当てますが、割り当てる値がないため、タイムスパンのデフォルトの 0 を使用します。この動作の周りに何かありますか?
private string _name;
[DataMember(Name = "Name")]
public string Name
{
get
{
return _name;
}
set
{
_name= value;
}
}
private TimeSpan _timeout = TimeSpan.FromHours(12);
public TimeSpan Timeout
{
get
{
return _timeout ;
}
set
{
_timeout = value;
}
}