在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";