Установить значение по умолчанию в DataContract? Как установить значение по умолчанию для DataMember например, для показанного ниже: Я хочу установить ScanDevice = "XeroxScan" по умолчанию [DataMember] public string ScanDevice { get; set; } Ответ 1 Я обычно делал это с таким шаблоном: [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, поскольку ваш конструктор не будет вызываться во время десериализации. Ответ 2 Если вы хотите, чтобы он всегда был по умолчанию для XeroxScan, почему бы не сделать что-то простое, например: [DataMember(EmitDefaultValue = false)] public string ScanDevice= "XeroxScan";
Ответ 1 Я обычно делал это с таким шаблоном: [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, поскольку ваш конструктор не будет вызываться во время десериализации.
Ответ 2 Если вы хотите, чтобы он всегда был по умолчанию для XeroxScan, почему бы не сделать что-то простое, например: [DataMember(EmitDefaultValue = false)] public string ScanDevice= "XeroxScan";