Udostępnij za pośrednictwem


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);
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 być 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ą być serializować jako zmienne składowe lub zmienne lokalne. To określenie jest wykonywane przez wyszukanie właściwości extendera 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. W przeciwnym razie nazwa jest syfekowana na podstawie prostej nazwy typu klasy głównej.

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

Zadanie Opis
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 odpowiednio w systemie SerializeToExpression, zapewnia to, że serializacja nie jest wykonywana dwukrotnie.
Serializacja katalogu głównego 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 sfabrykowany, który wywołuje wszystkie metody zwracane z GetInitializeMethodklasy .

-

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

Wystąpienie Opis
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ż