我有一個沒有設置TimeStamp的xml。我在這裏嘗試了各種可能的組合,但在反序列化它總是會拋出一個異常搭配:There was an error deserializing the object of type MyType. The value '' cannot be parsed as the type 'DateTime'.
如何在反序列化中使數據倉庫成爲可選項?
[DataMember(IsRequired = false, EmitDefaultValue = false)]
public DateTime TimeStamp = DateTime.Now;
究竟是什麼,我需要這個時間戳部件設置,使得它在反序列化可選(=不是需要在該XML)
編輯:我試過Xaruth的建議是什麼:
[DataMember]
[DefaultValue(typeof(DateTime), "2014-08-25T09:31:09.2477328+02:00")]
public DateTime TimeStamp { get; set; }
public bool ShouldSerializeTimeStamp()
{
return TimeStamp != null;
}
public void ResetTimeStamp()
{
TimeStamp = DateTime.Now;
}
不要包含在序列化過程中。因爲,它是一個可選成員;在使用服務方法/操作時不要傳遞它。 – Rahul 2014-09-26 11:57:47
Rahul我正在序列化/從XML。當試圖反序列化已經存在的xml並沒有Timestamp的時候,問題就出現了,但我仍然希望它沒有異常地反序列化。 – Blub 2014-09-26 12:40:39