TypeCodeDomSerializer.Serialize Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Serialisiert den Objektstamm, indem eine neue Typdeklaration erstellt wird, 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);
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 Sammlung von Elementen. Kann sein null oder leer sein.
Gibt zurück
Ein CodeTypeDeclaration Objekt, das das Stammobjekt definiert.
Ausnahmen
manager oder root ist null.
Hinweise
Die Serialize Methode serialisiert das angegebene Stammobjekt und die optionale Auflistung von Elementen, um eine neue Typdefinition zu erstellen. Wenn die members Auflistung Werte enthält, werden diese Werte serialisiert. Werte selbst können als Membervariablen oder lokale Variablen serialisiert werden. Diese Bestimmung erfolgt durch Suchen nach einer Extendereigenschaft für das aufgerufene GenerateMemberObjekt. Wenn true, wird ein Element generiert. Andernfalls wird eine lokale Variable generiert. Aus Gründen der Einfachheit 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 stammt aus dem Namen des Stammobjekts, wenn es sich um ein benanntes Objekt handelt. Wenn nicht, wird ein Name aus dem einfachen Typnamen der Stammklasse hergestellt.
In der folgenden Tabelle sind die Aufgaben aufgeführt, die von der Standardimplementierung der Serialize Methode ausgeführt werden.
| Task | Description |
|---|---|
| Kontext-Seeding | Der Serialisierungskontext wird mit Daten initialisiert, einschließlich und RootContextCodeTypeDeclaration |
| Serialisierung von Membern | Serialize Führen Sie als Nächstes alle Mitglieder und Anrufe durchSerializeToExpression. Da die Serialisierung opportunistisch durchgeführt SerializeToExpressionwird, stellt dies sicher, dass die Serialisierung nicht zweimal durchgeführt wird. |
| Stamm serialisierung | Als Nächstes wird das Stammobjekt serialisiert, und seine Anweisungen werden der Anweisungsauflistung hinzugefügt. |
| Integration von Anweisungen | Nachdem alle Objekte serialisiert wurden, sortiert die Serialize Methode die Anweisungen und fügt sie einer methode hinzu, die von GetInitializeMethod. Schließlich wird ein Konstruktor erstellt, der alle methoden aufruft, die von GetInitializeMethod. |
-
In der folgenden Tabelle sind die Objekte aufgeführt, die die Serialize Methode im Kontextstapel platziert.
| Instance | Description |
|---|---|
| TypeCodeDomSerializer | Dieser Serialisierer. Die Ableitung von Klassen kann es hilfreich finden, öffentliche Eigenschaften zu dieser Klasse hinzuzufügen. |
| CodeTypeDeclaration | Der Typ, der erstellt wird. Die meisten Objekte benötigen keinen direkten Zugriff darauf. |