TypeCodeDomSerializer.Serialize Methode

Definitie

Serialiseert de hoofdmap van het object door een nieuwe typedeclaratie te maken waarmee de hoofdmap wordt gedefinieerd.

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

Parameters

manager
IDesignerSerializationManager

Het serialisatiebeheer dat moet worden gebruikt voor serialisatie.

root
Object

Het object dat moet worden geserialiseerd.

members
ICollection

Optionele verzameling leden. Kan null bevatten of leeg zijn.

Retouren

Een CodeTypeDeclaration die het hoofdobject definieert.

Uitzonderingen

manager of root is null.

Opmerkingen

De Serialize methode serialiseert het opgegeven hoofdobject en de optionele verzameling leden om een nieuwe typedefinitie te maken. Als de members verzameling waarden bevat, worden deze waarden geserialiseerd. Waarden zelf kunnen serialiseren als lidvariabelen of lokale variabelen. Deze bepaling wordt gedaan door te zoeken naar een extender eigenschap op het object genaamd GenerateMember. Als true, wordt er een lid gegenereerd. Anders wordt er een lokale variabele gegenereerd. Voor het gemak kan de members verzameling het hoofdobject bevatten. In dit geval wordt het hoofdobject niet ook toegevoegd als lid of lokale variabele.

De naam van het geretourneerde type wordt opgehaald uit de naam van het hoofdobject, als het een benoemd object is. Als dat niet het probleem is, wordt een naam gemaakt op basis van de eenvoudige typenaam van de hoofdklasse.

In de volgende tabel ziet u de taken die worden uitgevoerd door de standaard implementatie van de Serialize methode.

Task Beschrijving
Contexts seeding De serialisatiecontext wordt geïnitialiseerd met gegevens, inclusief de RootContext en CodeTypeDeclaration
Serialisatie van leden Serialize Vervolgens worden alle leden en oproepen SerializeToExpressionbegeleid. Omdat serialisatie opportunistisch SerializeToExpressionwordt uitgevoerd, zorgt dit ervoor dat serialisatie niet tweemaal wordt uitgevoerd.
Hoofdserialisatie Vervolgens wordt het hoofdobject geserialiseerd en worden de instructies toegevoegd aan de instructieverzameling.
Integratie van instructies Nadat alle objecten zijn geserialiseerd, worden de instructies door de Serialize methode geserialiseerd en toegevoegd aan een methode die wordt geretourneerd door GetInitializeMethod. Ten slotte wordt een constructor gemaakt die alle methoden aanroept die worden geretourneerd door GetInitializeMethod.

-

In de volgende tabel ziet u de objecten die de Serialize methode op de contextstack plaatst.

Instance Beschrijving
TypeCodeDomSerializer Deze serialisatiefunctie. Het kan handig zijn om openbare eigenschappen toe te voegen aan deze klasse door klassen af te leiden.
CodeTypeDeclaration Het type dat wordt gemaakt. De meeste objecten hebben hiervoor geen directe toegang nodig.

Van toepassing op

Zie ook