Mon blog à propos de programmation
Publié ou mis à jour le : 2017-05-08

Ne sérialisez pas des listes vides avec XmlSerializer (C#)

Lorsque vous sérialisez une collection/liste vide avec XmlSerializer, un élément xml est écrit.
Si vous voulez que rien ne soit sérialisé, vous pouvez utiliser ce truc: ajouter une fonction ShouldSerialize..().

Exemple:

public class MaClasse
{
    public List Éléments;
    public bool ShouldSerializeÉléments()
    { return Éléments != null && Éléments.Count > 0; }
}

Le nom de la fonction est « ShouldSerialize »+<le nom du champ ou propriété de la collection>

XmlSerializer détectera automatiquement cette fonction et lui demandera s’il doit sérialiser ou non le champ ou la propriété, ou non.

Donate

If you find UniversalSerializer useful, please consider supporting the project by donating

Copyright © Christophe Bertrand. Tous droits réservés.