TypeCodeDomSerializer.Serialize Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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. |