J'ai une classe avec plus de 100 propriétés (c'est une classe de mappage de base de données) et l'une des propriétés doit être dans une méthode. En d'autres termes ces données ne sont pas exposées via une propriété, mais par des méthodes:Mélange de sérialisation personnalisée et de base?
"ABCType GetABC(), SetABC (valeur ABCType)"
Il est très un-C# -comme. Je frémis quand je le vois.
La classe doit être sérialisable pour pouvoir être envoyée via des services Web, et les données exposées par les méthodes Get/Set doivent également être sérialisées. (C'est dans une méthode à cause d'une chose étrange que la grille que j'utilise fait avec la réflexion, elle ne peut pas gérer les objets qui contiennent des propriétés du même type que l'objet contenant.) La propriété problem stocke l'état original de l'objet Une implémentation inefficace, oui - mais je ne suis pas capable de la réorganiser.)
Ma question est la suivante: puisque seul ce champ nécessite un code de sérialisation personnalisé, j'aimerais utiliser la sérialisation personnalisée. seulement pour appeler GetABC et SetABC, revenant à la sérialisation XML de base pour le reste de la classe. Cela réduira le potentiel de bogues dans mon code de sérialisation. Y a-t-il un moyen?
Le truc [Browsable] ne fonctionne pas car il ne se cache pas la propriété de l'appel de la grille à typeof (SomeType) .GetProperties (BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); Cependant, vous avez répondu à la question sur la sérialisation mixte, alors merci! –