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 ScanDevice="XeroxScan" by default
[DataMember] public string ScanDevice { get; set; }
Answers
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";