mi propiedad de clase tiene un valor predeterminado que se serializará.Serialización XML y problema relacionado con DefaultValue ("") en C#
public class DeclaredValue
{
[XmlElement(ElementName = "Amount", DataType = "double", IsNullable = false), DefaultValue(999)]
public double Amount { get; set; }
[XmlElement(ElementName = "Reference2", DataType = "string", IsNullable = false), DefaultValue("")]
public string Reference2 { get; set; }
}
por lo que crear una instancia de la clase DeclaredValue y proporcionar un valor para la propiedad Reference2 y no asignan nada por cantidad. así que cuando serializamos la clase DeclaredValue, entonces no encontramos ninguna etiqueta para la cantidad en mi xml. menciono el valor predeterminado para la cantidad "999" y luego, ¿por qué no funciona en la serialización? Quiero que si no se asigna nada para la cantidad, entonces la etiqueta amoun debería estar allí en mi xml con valor predeterminado.
para hacer esto de la manera que necesito para decorar la cantidad de propiedad que siempre viene con el valor predeterminado en xml después de la serialización si el usuario no asigna nada a esta propiedad.
por favor guíame lo que necesito cambiar en el código para obtener el resultado deseado.
si establezco el valor explícitamente, entonces lo que hace DefaultValue. su enlace no existe ... así que deme un pequeño código. – Mou
Lo más probable es que necesite un constructor para establecer los valores predeterminados. –
El constructor se invoca antes de que la deserialización llene las propiedades. – Aliostad