J'essaye de désérialiser un Nullable<bool>
de mon fichier XML. Mon attente était qu'un XMLAttribute qui n'a pas été trouvé dans mon XMLElement est null
et s'il est trouvé, il sera true
ou false
. Idem pour la sérialisation. Ma variable sera écrite si elle n'est pas nulle.Comment désérialiser Nullable <bool>?
De toute façon, chaque fois que j'essaye de désérialiser mon XML, un InvalidOperationException
sera lancé.
Ma classe ressemble à ceci
[XMLArray("Users")]
public class User
{
[XMLAttribute("copy")]
public bool? copy;
}
Toutes les idées?
Jetez un oeil à cette approche, la réponse à cette question: http://stackoverflow.com/questions/1295697/deserializing-empty-xml-attribute-value-into-nullable-int-property-using-xmlseri It En gros, enveloppe une propriété autour de la variable nullable et sérialise/désérialise celle-ci. Ignore la propriété bool de la sérialisation. – lahsrah
Vous pouvez utiliser 'public bool ShouldSerializecopy() {return copy.HasValue;}' comme indiqué ici: http://stackoverflow.com/questions/244953/serialize-a-nullable-int –
Merci beaucoup! – theknut