CodeDomSerializerBase.DeserializeExpression Methode

Definitie

Deserializeert de opgegeven expressie in een in-memory object.

protected:
 System::Object ^ DeserializeExpression(System::ComponentModel::Design::Serialization::IDesignerSerializationManager ^ manager, System::String ^ name, System::CodeDom::CodeExpression ^ expression);
protected object DeserializeExpression(System.ComponentModel.Design.Serialization.IDesignerSerializationManager manager, string name, System.CodeDom.CodeExpression expression);
member this.DeserializeExpression : System.ComponentModel.Design.Serialization.IDesignerSerializationManager * string * System.CodeDom.CodeExpression -> obj
Protected Function DeserializeExpression (manager As IDesignerSerializationManager, name As String, expression As CodeExpression) As Object

Parameters

manager
IDesignerSerializationManager

De IDesignerSerializationManager te gebruiken voor serialisatie.

name
String

De naam van het object dat het resultaat is van de expressie. Dit kan zijn null als het object niet hoeft te worden genaamd.

expression
CodeExpression

De CodeExpression te interpreteren.

Retouren

Een object dat voortvloeit uit interpretatie van expression.

Opmerkingen

Dit is een helpermethode die afgeleide klassen kunnen aanroepen om een expressie te deserialiseren. De instructie wordt gedeserialiseerd door de CodeDOM-expressie die is opgegeven door de expression parameter te interpreteren en uit te voeren en vervolgens de resultaten te retourneren. Als een object moet worden gemaakt als gevolg van deze expressie, krijgt het de naam die is opgegeven door de name parameter. De naam kan zijn null als het object niet hoeft te worden genaamd. In de volgende tabel wordt beschreven hoe specifieke expressies worden verwerkt.

Expression Gedrag
CodeThisReferenceExpression Deze expressie vertegenwoordigt this of Me. Als u het object wilt zoeken dat aan deze expressie is gekoppeld, ziet de DeserializeExpression methode er in de contextstack naar een RootContext. Dit object bevat het hoofdobject van de grafiek en de expressie die het voorstelt. Als het object aanwezig is en de expressie overeenkomt, wordt het hoofdobject geretourneerd. Er wordt een fout gerapporteerd als een exemplaar zich niet kan bevinden.
CodeFieldReferenceExpression Als het doel van de veldverwijzing resulteert in het hoofdobject, wordt de GetInstance methode van de managerparameter gebruikt om het objectexemplaren op te halen op basis van de naam. Anders wordt standaardspiegeling gebruikt voor het doelobject om het aangevraagde veld te vinden. Er wordt een fout gerapporteerd als het veld niet kan worden gevonden.
CodeVariableReferenceExpression De GetInstance methode van de manager parameter wordt gebruikt om het exemplaar te zoeken dat de opgegeven variabelenaam vertegenwoordigt. Er wordt een fout gerapporteerd als een exemplaar zich niet kan bevinden.

DeserializeExpression blijft expressies interpreteren totdat ze volledig zijn omgezet in een object of totdat de expressie niet meer kan worden vereenvoudigd. In dit geval DeserializeExpression wordt een CodeExpression expressie geretourneerd die de meest vereenvoudigde expressie bevat. De volgende expressies worden niet ondersteund:

Van toepassing op

Zie ook