我的類屬性具有將被序列化的默認值。c#中的XML序列化和DefaultValue(「」)相關的問題
public class DeclaredValue
{
[XmlElement(ElementName = "Amount", DataType = "double", IsNullable = false), DefaultValue(999)]
public double Amount { get; set; }
[XmlElement(ElementName = "Reference2", DataType = "string", IsNullable = false), DefaultValue("")]
public string Reference2 { get; set; }
}
因此,我們創建了DeclaredValue類的實例併爲Reference2屬性提供了值,並且不爲Amount指定任何值。所以當我們序列化類DeclaredValue然後沒有標籤在我的xml中找到了數量。我提到數量「999」的默認值,那麼爲什麼它不能在序列化中工作。我希望如果不分配任何金額,那麼amoun標籤應該在我的XML默認值。
要做到這一點我需要什麼方式來裝飾數量屬性,它總是帶有默認值在xml序列化後,如果用戶不分配任何東西給這個屬性。
請指導我需要在代碼中更改以獲得所需的輸出。
如果我明確地設置了值,那麼DefaultValue會做什麼。你的鏈接不存在....所以給我一個小代碼。 – Mou 2011-05-04 11:59:13
你很可能需要一個構造函數來設置默認值。 – 2011-05-04 12:03:10
在反序列化填充屬性之前調用構造函數。 – Aliostad 2011-08-09 09:44:00