XmlSerializer "Angegebenen" suffix und IReflect

Habe ich entdeckt, dass wenn eine serialisierbare Feld/Eigenschaft hat ein entsprechendes Feld von Typ Boolean haben als Namen die Feld/Eigenschaft - name mit "Angegeben" - suffix, die die XmlSerializer-bedingt ausschließen, dass Feld/Eigenschaft aus dem serialisierungsprozess. Schön!

So, ich möchte vermeiden, die definition der Felder, und fügen Sie dynamisch, zur Laufzeit...

Lesen diese, fand ich eine interessante Schnittstelle IReflect, die ich verwenden können, um zu "emulieren" dynamische Felder, die verwendet werden, durch die die XmlSerializer-Instanzen zum Ausschluss bestimmter Felder.

Würde das funktionieren?

  • Können Sie erläutern, warum Sie vermeiden möchten, die Felder und tun Sie dies an der Laufzeit? Wollen Sie zum serialisieren von Klassen ist unterschiedlich je nach einiger Laufzeit berechnete Werte, oder Sie wollen einfach nur, um das hinzufügen dieser zusätzlichen Eigenschaften?
  • dies ist erstaunlich: framework-Autoren tatsächlich diese hardcoded in den tiefen der xml-serializer die Reflexion Motor. was für eine design-Entscheidung! wo ist dieser dokumentiert? referencesource.microsoft.com/#System.Xml/System/Xml/...
InformationsquelleAutor Luca | 2010-11-23
Schreibe einen Kommentar