Set default value in a DataContract?
How can I set a default value to a DataMember for example for the one shown below:
I want to set ScanDevic开发者_开发技巧e="XeroxScan" by default
[DataMember]
public string ScanDevice { get; set; }
I've usually done this with a pattern like this:
[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";
}
}
Don't forget the OnDeserializing, as your constructor will not be called during deserialization.
If you want it always to default to XeroxScan, why not do something simple like:
[DataMember(EmitDefaultValue = false)]
public string ScanDevice= "XeroxScan";
精彩评论