2012-04-03 7 views

Antwort

6

Es gibt zwei Ansätze, wenn es um die Serialisierung mit dem Serializer .NET kommt:

White-Auflistung der Eigenschaften:

Dies ist der recommenden Ansatz. Sie markieren Ihre Klasse explizit mit dem Attribut DataContract. Damit werden nur Eigenschaften, die mit dem Attribut DataMember markiert sind, in die Ausgabe einbezogen.

Anstatt eine schwarze Liste von Eigenschaften zu erstellen, die Sie nicht serialisieren möchten, ist es besser, eine weiße Liste zu erstellen und alle Eigenschaften zu markieren, die Sie serialisieren möchten. Dies ist sicherer, da der Entwickler explizit angeben muss, dass eine Eigenschaft serialisiert werden soll, wenn eine neue Eigenschaft eingeführt wird.

Black-Auflistung der Eigenschaften:

Wenn Sie wirklich schwarze Liste machen wollen, können Sie das IgnoreDataMember Attribut verwenden, wie von anderen darauf hingewiesen wird. In diesem Fall müssen (und sollten) Sie Ihre Klasse nicht mit dem Attribut DataContract kennzeichnen. Stattdessen markieren Sie die Eigenschaften, die mit IgnoreDataMember ausgeschlossen werden sollen.

Ich hoffe, dass dies ein wenig hilft, die Möglichkeiten und ihre Vorteile/Nachteile zu erklären.

Edit: Expanded meine Antwort

2

Es gibt zwei Möglichkeiten, kann ich mir vorstellen.

1- Versuchen Sie in der Eigenschaft das Attribut [IgnoreDataMember] zu verwenden.

2 - Markieren Sie Ihre Property nicht mit dem Attribut [DataMember].

Hoffe es hilft

Verwandte Themen