aca*_*dia 19 c# wcf datacontractserializer
如何为DataMember设置默认值,例如下面显示的值:
我想默认设置ScanDevice ="XeroxScan"
[DataMember]
public string ScanDevice { get; set; }
Run Code Online (Sandbox Code Playgroud)
Dan*_*ant 33
我通常用这样的模式做到这一点:
[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";
}
}
Run Code Online (Sandbox Code Playgroud)
不要忘记OnDeserializing,因为在反序列化期间不会调用构造函数.
如果您希望它始终默认为XeroxScan,为什么不做一些简单的事情:
[DataMember(EmitDefaultValue = false)]
public string ScanDevice= "XeroxScan";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14818 次 |
| 最近记录: |