Share via


CodeDomSerializerBase.DeserializeExpression Método

Definición

Deserializa la expresión especificada en un objeto en memoria.

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

Parámetros

manager
IDesignerSerializationManager

IDesignerSerializationManager que se va a usar para la serialización.

name
String

Nombre del objeto que es el resultado de la expresión. Puede ser null si no es necesario asignar un nombre al objeto.

expression
CodeExpression

CodeExpression que se va a interpretar.

Devoluciones

Objeto que es el resultado de la interpretación de expression.

Comentarios

Se trata de un método auxiliar al que las clases derivadas pueden llamar para deserializar una expresión. Deserializa la instrucción interpretando y ejecutando la expresión CodeDOM especificada por el expression parámetro y, a continuación, devuelve los resultados. Si se debe crear un objeto como resultado de esta expresión, se le asignará el nombre especificado por el name parámetro . El nombre puede ser null si no es necesario asignar un nombre al objeto. En la tabla siguiente se describe cómo se controlan las expresiones específicas.

Expression Comportamiento
CodeThisReferenceExpression Esta expresión representa this o Me. Para buscar el objeto asociado a esta expresión, el DeserializeExpression método buscará en la pila de contexto de .RootContext Este objeto contiene el objeto raíz del gráfico y la expresión que la representa. Si el objeto está presente y la expresión coincide, se devolverá el objeto raíz. Se notifica un error si no se puede encontrar una instancia.
CodeFieldReferenceExpression Si el destino de la referencia de campo se evalúa como el objeto raíz, el GetInstance método del parámetro manager se usará para recuperar la instancia del objeto en función del nombre. De lo contrario, la reflexión estándar se usa en el objeto de destino para buscar el campo solicitado. Se notifica un error si no se puede encontrar el campo.
CodeVariableReferenceExpression El GetInstance método del manager parámetro se usa para buscar la instancia que representa el nombre de variable especificado. Se notifica un error si no se puede encontrar una instancia.

DeserializeExpression continúa interpretando expresiones hasta que se resuelven completamente en un objeto o hasta que ya no puede simplificar la expresión. En este caso, DeserializeExpression devolverá un CodeExpression que contiene la expresión más simplificada. No se admiten las expresiones siguientes:

Se aplica a

Consulte también