Je convertis certaines de mes classes pour utiliser DataContractSerialization afin que je puisse inclure des entités Linq dans la sortie. Une sorte de question théorique a surgi dans ma tête pendant que j'étais en train de faire le pari, et pendant que je parie que la réponse est «Non», j'ai pensé que je poserais la question de toute façon.Pouvez-vous obtenir un contrôle conditionnel sur la sérialisation avec DataContractSerializer?
Existe-t-il un moyen de sérialiser de façon conditionnelle un objet? Par exemple, si je suis en train de sérialiser un objet employé avec l'intention d'envoyer des informations à un client, il est possible que je ne souhaite pas inclure l'adresse. D'autre part, si je suis en série pour l'utiliser dans un service web pour le site qui gère cet employé, je pourrais avoir besoin de cette information.
Une autre possibilité consisterait à sérialiser certains membres selon qu'ils étaient ou non l'objet de base en cours de sérialisation. Donc, si j'ai une classe Ticket qui contient un emplacement, et l'emplacement contient une liste de contacts, je ne voudrais probablement pas que cette liste de contacts si je sérialisais le billet. Mais si j'essayais de travailler avec l'emplacement lui-même, il pourrait être bon d'avoir.
Alors, des idées là-dessus?