TypeCodeDomSerializer.Serialize Metoda

Definice

Serializuje kořen objektu vytvořením nové deklarace typu, která definuje kořen.

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

Parametry

manager
IDesignerSerializationManager

Správce serializace, který se má použít pro serializaci.

root
Object

Objekt, který se má serializovat.

members
ICollection

Volitelná kolekce členů. Může být nebo může být null prázdný.

Návraty

A CodeTypeDeclaration , který definuje kořenový objekt.

Výjimky

manager nebo root je null.

Poznámky

Metoda Serialize serializuje daný kořenový objekt a volitelnou kolekci členů vytvořit novou definici typu. members Pokud kolekce obsahuje hodnoty, jsou tyto hodnoty serializovány. Samotné hodnoty mohou serializovat jako členské proměnné nebo místní proměnné. Toto určení se provádí hledáním rozšiřující vlastnosti objektu s názvem GenerateMember. Pokud truese vygeneruje člen. V opačném případě se vygeneruje místní proměnná. Pro usnadnění může members kolekce obsahovat kořenový objekt. V tomto případě není kořenový objekt přidán také jako člen nebo místní proměnná.

Název vráceného typu je převzat z názvu kořenového objektu, pokud se jednalo o pojmenovaný objekt. Pokud ne, název se vytvoří z jednoduchého názvu typu kořenové třídy.

Následující tabulka ukazuje úlohy prováděné výchozí implementací Serialize metody.

Úkol Description
Počáteční kontext Kontext serializace se inicializuje s daty, včetně RootContextCodeTypeDeclaration
Serializace členů Serialize Dále provede všechny členy a hovory SerializeToExpression. Vzhledem k tomu, že serializace se provádí oportunisticky v SerializeToExpression, to zajišťuje, že serializace není provedena dvakrát.
Serializace kořenového adresáře Dále je kořenový objekt serializován a jeho příkazy jsou přidány do kolekce příkazů.
Integrace příkazů Jakmile jsou všechny objekty serializovány, Serialize metoda objedná příkazy a přidá je do metody vrácené z GetInitializeMethod. Nakonec je konstruktor zkonstruován, který volá všechny metody vrácené z GetInitializeMethod.

-

Následující tabulka ukazuje objekty, které Serialize metoda umístí do kontextového zásobníku.

Instance Description
TypeCodeDomSerializer Tento serializátor. Odvozené třídy mohou být užitečné přidat veřejné vlastnosti do této třídy.
CodeTypeDeclaration Typ, který se vytváří. Většina objektů k tomu nepotřebuje přímý přístup.

Platí pro

Viz také