TypeCodeDomSerializer.Serialize Metoda

Definicja

Serializuje katalog główny obiektu, tworząc nową deklarację typu, która definiuje katalog główny.

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

Parametry

manager
IDesignerSerializationManager

Menedżer serializacji do użycia do serializacji.

root
Object

Obiekt do serializacji.

members
ICollection

Opcjonalna kolekcja elementów członkowskich. Może być null lub pusty.

Zwraca

Obiekt CodeTypeDeclaration definiujący obiekt główny.

Wyjątki

manager lub root ma wartość null.

Uwagi

Metoda Serialize serializuje dany obiekt główny i opcjonalną kolekcję elementów członkowskich w celu utworzenia nowej definicji typu. members Jeśli kolekcja zawiera wartości, te wartości są serializowane. Same wartości mogą serializować jako zmienne składowe lub zmienne lokalne. To określenie jest wykonywane przez wyszukanie właściwości rozszerzenia na obiekcie o nazwie GenerateMember. Jeśli trueelement członkowski zostanie wygenerowany. W przeciwnym razie jest generowana zmienna lokalna. Dla wygody members kolekcja może zawierać obiekt główny. W takim przypadku obiekt główny nie jest również dodawany jako element członkowski lub zmienna lokalna.

Nazwa zwracanego typu jest pobierana z nazwy obiektu głównego, jeśli był to nazwany obiekt. Jeśli nie, nazwa jest syłana z prostej nazwy typu klasy głównej.

W poniższej tabeli przedstawiono zadania wykonywane przez domyślną implementację Serialize metody .

Task Description
Rozmieszczanie kontekstu Kontekst serializacji jest inicjowany przy użyciu danych, w tym i RootContextCodeTypeDeclaration
Serializacja składowych Serialize Następnie przeprowadzi wszystkich członków i wywoła metodę SerializeToExpression. Ponieważ serializacja jest wykonywana oportunistycznie w systemie SerializeToExpression, zapewnia to, że serializacja nie jest wykonywana dwukrotnie.
Serializacja główna Następnie obiekt główny jest serializowany, a jego instrukcje są dodawane do kolekcji instrukcji.
Integracja instrukcji Po serializacji Serialize wszystkich obiektów metoda porządkuje instrukcje i dodaje je do metody zwróconej z GetInitializeMethodklasy . Na koniec konstruktor jest ssadzony, który wywołuje wszystkie metody zwrócone z GetInitializeMethodklasy .

-

W poniższej tabeli przedstawiono obiekty, które Serialize metoda umieszcza na stosie kontekstu.

Instance Description
TypeCodeDomSerializer Ten serializator. Klasy pochodne mogą okazać się przydatne do dodawania właściwości publicznych do tej klasy.
CodeTypeDeclaration Tworzony typ. Większość obiektów nie wymaga bezpośredniego dostępu do tego.

Dotyczy

Zobacz też