2010-01-22 2 views

Répondre

20

figured it out moi-même, je devais ajouter le attribuiez suivant à mes DataMembers

[DataMember(EmitDefaultValue = false)] 
+2

Cela ne semble pas fonctionner pour moi ... autre chose que je devrais ajouter? –

+3

N'existe-t-il pas un moyen de spécifier cela comme comportement par défaut? Cela semble être un oubli terrible de la part de Microsoft. Par exemple, l'annotation de toutes les propriétés d'une bibliothèque de classes contenant plus de 100 POCO n'est tout simplement pas acceptable. – crush

+1

@Crush: Je suis d'accord. Quelqu'un at-il une solution globale pour cela plutôt que par la propriété? –

0

Dans la classe où votre propriété est présent ont un constructeur. Dans le constructeur l'initialiser comme nul. Si une propriété d'un DataContract est null, elle n'apparaîtra pas dans votre sortie XML. Si vous voulez qu'il apparaisse dans votre sortie lorsque des données sont présentes, il vous suffit de l'instancier à nouveau dans votre classe où vous exposez les données.

Questions connexes