J'ai une classe avec de nombreuses propriétés < T T > que je veux sérialiser en XML comme attributs. C'est apparemment un non-non car ils sont considérés comme des «types complexes». Ainsi, au lieu que je Mettre en oeuvre le * modèle spécifié, où je crée un ajout * Valeur et * la propriété spécifiée comme suit:XmlSerializer et attributs nullable
[XmlIgnore] public int? Age { get { return this.age; } set { this.age = value; } } [XmlAttribute("Age")] public int AgeValue { get { return this.age.Value; } set { this.age = value; } } [XmlIgnore] public bool AgeValueSpecified { get { return this.age.HasValue; } }
Ce qui fonctionne bien - si la propriété « âge » a une valeur, il est sérialisé en tant attribut. S'il n'a pas de valeur, il n'est pas sérialisé. Le problème est que, comme je l'ai mentionné, j'ai beaucoup de Nullable-s dans ma classe et ce modèle rend les choses compliquées et ingérables. Je souhaite qu'il existe un moyen de rendre Nullable plus XmlSerializer amical. Ou, à défaut, un moyen de créer un remplacement Nullable qui est.
Est-ce que quelqu'un a des idées comment je pourrais faire cela?
Merci.
Je suppose que cela devra faire - ce serait bien d'être capable de dire à un type 'complexe' de sérialiser en tant qu'attribut. – Barg