CodeDomSerializerBase.DeserializeExpression 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.
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: