que tengo una clase comoserialise bool? de error que refleja el tipo
[Serializable]
public class MyClass
{
[XmlAttribute]
public bool myBool { get; set; }
}
Pero esto serializa el valor de la bool false cuando el atributo no está presente en el XML. Cuando el atributo no está en el xml, quiero que la propiedad sea nula.
Así que probé este
[Serializable]
public class MyClass
{
[XmlAttribute]
public bool? myBool { get; set; }
}
Pero entonces los errores serializador
Type t = Type.GetType("Assembly.NameSpace.MyClass");
XmlSerializer mySerializer = new XmlSerializer(t); //error "There was an error reflecting type"
Por favor, dame un ejemplo de lo que puedo hacer esto. Sé que hay algunas preguntas relacionadas sobre SO, pero nada que muestre cómo superar el error de reflexión con un bool nullable. Gracias.
@Aliostad: Agradezco los méritos de su enfoque, pero si la estructura XML no está abierta a modificaciones, no funcionará mientras que esta lo hará. – Jon
esto se ve muy bien, pero parece que no funciona. ¿El '{} especificado' es un nombre mágico? ¿Necesito algo de lógica en el getter? – Jules
@Jules: Sí, es un nombre mágico. Busque "El patrón se crea en forma de propertyNameSpecified" en la página vinculada. Si no funciona, muestra tu código actual. – Jon