CodeDomSerializerBase.SerializeToExpression Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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:
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.
Vervolgens wordt de serialisatiefunctie van het object gevonden en wordt gevraagd om het te serialiseren.
Als de retourwaarde van de serialisatiefunctie van het object een CodeExpressionis, wordt de expressie geretourneerd.
Er wordt een laatste aanroep weergegeven om te GetExpression zien of de serializer een expressie heeft toegevoegd.
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.