簡體   English   中英

在DataContract中設置默認值?

[英]Set default value in a DataContract?

如何為DataMember設置默認值,例如下面顯示的值:

我想默認設置ScanDevice =“XeroxScan”

    [DataMember]
    public string ScanDevice { get; set; }

我通常用這樣的模式做到這一點:

[DataContract]
public class MyClass
{
    [DataMember]
    public string ScanDevice { get; set; }

    public MyClass()
    {
        SetDefaults();
    }

    [OnDeserializing]
    private void OnDeserializing(StreamingContext context)
    {
        SetDefaults();
    }

    private void SetDefaults()
    {
        ScanDevice = "XeroxScan";
    }
}

不要忘記OnDeserializing,因為在反序列化期間不會調用構造函數。

如果您希望它始終默認為XeroxScan,為什么不做一些簡單的事情:

[DataMember(EmitDefaultValue = false)]
public string ScanDevice= "XeroxScan";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM