atributo deserializar XmlSerializer con cadena vacía a cero
-
28-09-2019 - |
Pregunta
Me gustaría utilizar XmlSerializer y atributos deserializar con valores de cadenas vacías en ceros para los enteros. Cada pregunta que he visto en relación con atributos deserializar las cadenas vacías implica establecer enteros anulables a null -. Pero quiero establecer enteros no anulable a cero, no es nulo
¿Hay alguna forma fácil de hacer esto sin tener que implementar IXmlSerializable y simplemente manejar todo yo?
Solución
Un enfoque podría configurar una propiedad serializable ficticio, y el uso de una propiedad diferente en la práctica:
private int myint;
[XmlIgnore]
public int MyInt { get; set; }
[XmlElement("MyInt")]
public string MyIntString
{
get { return this.MyInt.ToString(); }
set { this.MyInt = Convert.ToInt32(value ?? string.Empty); }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow