CodeDomSerializerBase.DeserializeExpression Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Désérialise l'expression donnée dans un objet en mémoire.
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);
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
Paramètres
- manager
- IDesignerSerializationManager
IDesignerSerializationManager à utiliser pour la sérialisation.
- name
- String
Nom de l'objet qui résulte de l'expression. Peut être null
s'il n'est pas nécessaire de nommer l'objet.
- expression
- CodeExpression
CodeExpression à interpréter.
Retours
Objet qui résulte de l'interprétation de expression
.
Remarques
Il s’agit d’une méthode d’assistance que les classes dérivées peuvent appeler pour désérialiser une expression. Il désérialise l’instruction en interprétant et en exécutant l’expression CodeDOM spécifiée par le expression
paramètre, puis retourne les résultats. Si un objet doit être créé à la suite de cette expression, il reçoit le nom spécifié par le name
paramètre . Le nom peut être null
s’il n’est pas nécessaire de nommer l’objet. Le tableau suivant décrit comment des expressions spécifiques sont gérées.
Expression | Comportement |
---|---|
CodeThisReferenceExpression | Cette expression représente this ou Me . Pour localiser l’objet associé à cette expression, la DeserializeExpression méthode recherche dans la pile de contexte un RootContext. Cet objet contient l’objet racine du graphe et l’expression qui le représente. Si l’objet est présent et que l’expression correspond, l’objet racine est retourné. Une erreur est signalée si un instance est introuvable. |
CodeFieldReferenceExpression | Si la cible de la référence de champ correspond à l’objet racine, la GetInstance méthode du paramètre manager est utilisée pour récupérer l’objet instance en fonction du nom. Sinon, la réflexion standard est utilisée sur l’objet cible pour localiser le champ demandé. Une erreur est signalée si le champ est introuvable. |
CodeVariableReferenceExpression | La GetInstance méthode du manager paramètre est utilisée pour localiser le instance représentant le nom de variable donné. Une erreur est signalée si un instance est introuvable. |
DeserializeExpression continue d’interpréter les expressions jusqu’à ce qu’elles soient complètement résolues en objet, ou jusqu’à ce qu’elles ne puissent plus simplifier l’expression. Dans ce cas, DeserializeExpression retourne un CodeExpression qui contient l’expression la plus simplifiée. Les expressions suivantes ne sont pas prises en charge :