Freigeben über


TypeCodeDomSerializer.Serialize Methode

Definition

Serialisiert den Objektstamm durch das Erstellen einer neuen Typdeklaration, die den Stamm definiert.

public:
 virtual System::CodeDom::CodeTypeDeclaration ^ Serialize(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ root, System::Collections::ICollection ^ members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection members);
public virtual System.CodeDom.CodeTypeDeclaration Serialize (System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object root, System.Collections.ICollection? members);
abstract member Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
override this.Serialize : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj * System.Collections.ICollection -> System.CodeDom.CodeTypeDeclaration
Public Overridable Function Serialize (manager As IDesignerSerializationManager, root As Object, members As ICollection) As CodeTypeDeclaration

Parameter

manager
IDesignerSerializationManager

Der Serialisierungs-Manager, der für die Serialisierung verwendet werden soll.

root
Object

Das zu serialisierende Objekt.

members
ICollection

Optionale Auflistung der Member. Kann null oder leer sein.

Gibt zurück

Eine CodeTypeDeclaration, die das Stammobjekt definiert.

Ausnahmen

manager oder root ist null.

Hinweise

Die Serialize -Methode serialisiert das angegebene Stammobjekt und die optionale Auflistung von Membern, um eine neue Typdefinition zu erstellen. Wenn die members Auflistung Werte enthält, werden diese Werte serialisiert. Werte selbst können entweder als Membervariablen oder als lokale Variablen serialisiert werden. Diese Ermittlung erfolgt durch Suchen nach einer Extendereigenschaft für das -Objekt namens GenerateMember. Wenn true, wird ein Member generiert. Andernfalls wird eine lokale Variable generiert. Der Einfachheit halber kann die members Auflistung das Stammobjekt enthalten. In diesem Fall wird das Stammobjekt nicht auch als Member oder lokale Variable hinzugefügt.

Der Name des zurückgegebenen Typs wird dem Namen des Stammobjekts entnommen, wenn es sich um ein benanntes Objekt handelt. Andernfalls wird ein Name aus dem einfachen Typnamen der Stammklasse erstellt.

Die folgende Tabelle zeigt die Aufgaben, die von der Standardimplementierung der Serialize Methode ausgeführt werden.

Aufgabe BESCHREIBUNG
Kontext-Seeding Der Serialisierungskontext wird mit Daten initialisiert, einschließlich der RootContext und CodeTypeDeclaration
Memberserialisierung Serialize Führt als Nächstes alle Member durch und ruft aufSerializeToExpression. Da die Serialisierung opportunistisch in SerializeToExpressionerfolgt, stellt dies sicher, dass die Serialisierung nicht zweimal erfolgt.
Stammserialisierung Als Nächstes wird das Stammobjekt serialisiert, und seine Anweisungen werden der Anweisungsauflistung hinzugefügt.
Anweisungsintegration Nachdem alle -Objekte serialisiert wurden, sortiert die Serialize -Methode die -Anweisungen und fügt sie einer Methode hinzu, die von GetInitializeMethodzurückgegeben wird. Schließlich wird ein Konstruktor erstellt, der alle von GetInitializeMethodzurückgegebenen Methoden aufruft.

-

Die folgende Tabelle zeigt die Objekte, die die Serialize Methode auf dem Kontextstapel platziert.

Instanz BESCHREIBUNG
TypeCodeDomSerializer Dieses Serialisierer. Das Ableiten von Klassen kann es hilfreich finden, dieser Klasse öffentliche Eigenschaften hinzuzufügen.
CodeTypeDeclaration Der zu erstellende Typ. Die meisten Objekte benötigen keinen direkten Zugriff darauf.

Gilt für:

Weitere Informationen