serialize serializar objeto deserializar data c# wcf datacontractserializer

objeto - serializar y deserializar json c#



¿Establecer valor predeterminado en un DataContract? (2)

Generalmente he hecho esto con un patrón como este:

[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"; } }

No olvide la OnDeserialización, ya que no se llamará a su constructor durante la deserialización.

¿Cómo puedo establecer un valor predeterminado para un DataMember, por ejemplo, para el que se muestra a continuación:

Quiero configurar ScanDevice = "XeroxScan" de forma predeterminada

[DataMember] public string ScanDevice { get; set; }


Si desea que XeroxScan se configure de forma predeterminada, ¿por qué no hacer algo simple como:

[DataMember(EmitDefaultValue = false)] public string ScanDevice= "XeroxScan";