So erstellen Sie Ihre benutzerdefinierte XmlAttribute Serialization

8

Ich suche nach, um die Serialisierung eines Attributs anzupassen. Ich dachte, es wäre einfach, aber ich war nicht in der Lage zu erreichen, was ich tun wollte, wie ich es wollte.

Hier ist ein einfaches Beispiel:

Klassendefinition:

%Vor%

Xml Ergebnis, das ich gerne hätte:

%Vor%

Die einzige Arbeit, die ich hatte, war, ein [XmlIgnore] -Attribut zu setzen und eine andere Eigenschaft mit etwas Code zu erstellen, der die Transformation durchgeführt hat.

Also, meine Frage, gibt es einen besseren Weg als eine neue Eigenschaft zu erstellen? Vielleicht gibt es eine Art von TypeConverter, den Sie erstellen können, damit der Serializer es verwenden kann?

Ich habe auch versucht, das Type-Attribut zu verwenden, aber ohne Erfolg. (Immer Ausnahmen erhalten). Aber von dem, was ich gelesen habe, ist es für bereits definierten Datentyp.

%Vor%

Ein anderer interessanter Weg wäre so:

%Vor%

Danke.

Bearbeiten Da keine Lösung, nach der ich gesucht hatte, präsentiert wurde, entschied ich mich letztendlich für die "IXmlSerializable" -Lösung.

    
Sauleil 28.11.2010, 21:43
quelle

1 Antwort

3

Sie können entweder:

  1. Implementieren Sie IXmlSerializable und handle alles Serialisierung / Deserialisierung für Ihr Typ manuell
  2. Verwenden Sie eine Ersatzeigenschaft:

    %Vor%
Diego Mijelshon 28.11.2010, 22:56
quelle

Tags und Links