CodeDomSerializerBase.SerializeToExpression Methode

Definitie

Hiermee wordt het opgegeven object geserialiseerd in een expressie.

protected:
 System::CodeDom::CodeExpression ^ SerializeToExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::Object ^ value);
protected System.CodeDom.CodeExpression SerializeToExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, object value);
member this.SerializeToExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * obj -> System.CodeDom.CodeExpression
Protected Function SerializeToExpression (manager As IDesignerSerializationManager, value As Object) As CodeExpression

Parameters

manager
IDesignerSerializationManager

De IDesignerSerializationManager te gebruiken voor serialisatie.

value
Object

Het object dat moet worden geserialiseerd. Kan zijn null.

Retouren

Een CodeExpression object als value kan worden geserialiseerd; anders. null

Uitzonderingen

manager is null.

Opmerkingen

De value parameter kan zijn null, in welk geval een primitieve expressie wordt geretourneerd.

De SerializeToExpression methode gebruikt de volgende regels voor het serialiseren van typen:

  1. Eerst wordt de GetExpression methode aangeroepen om te zien of er al een expressie voor het object is gemaakt. Zo ja, dan wordt de bestaande expressie geretourneerd.

  2. Vervolgens wordt de serialisatiefunctie van het object gevonden en wordt gevraagd om het te serialiseren.

  3. Als de retourwaarde van de serialisatiefunctie van het object een CodeExpressionis, wordt de expressie geretourneerd.

  4. Er wordt een laatste aanroep weergegeven om te GetExpression zien of de serializer een expressie heeft toegevoegd.

  5. Ten slotte retourneert nullhet .

Als er geen expressie kan worden gemaakt en er geen geschikte serialisatiefunctie kan worden gevonden, wordt er een fout gerapporteerd via serialisatiebeheer. Er wordt geen fout gerapporteerd als er een serialisatiefunctie is gevonden, maar er is geen expressie gemaakt. In dit geval wordt ervan uitgegaan dat de serializer de fout al heeft gerapporteerd of dat het object niet is geserialiseerd.

Als de serializer een instructie of een verzameling instructies heeft geretourneerd, worden deze instructies niet verwijderd. De SerializeToExpression methode zoekt eerst naar een StatementContext op de contextstack en voegt instructies toe aan de eigenschap van het contextobject van StatementCollection de instructie. Als er geen instructiecontext is, zoekt de SerializeToExpression methode in de context naar een CodeStatementCollection en voegt u de instructies daar toe. Als er geen plaats is gevonden om de instructies toe te voegen, wordt er een fout gegenereerd.

Note

U moet de methode niet aanroepen Serialize bij het SerializeToExpression serialiseren van uw eigen object. In plaats daarvan moet u bellen GetExpression. Als deze wordt geretourneerd null, maakt u uw eigen expressie en roept u aan SetExpression. Ga vervolgens verder met de rest van uw serialisatie.

Van toepassing op

Zie ook