Compartilhar via


CodeDomSerializerBase.DeserializeExpression Método

Definição

Desserializa a expressão especificada em um objeto na memória.

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

O IDesignerSerializationManager a ser usado para serialização.

name
String

O nome do objeto que resulta da expressão. Pode ser null se não é necessário nomear o objeto.

expression
CodeExpression

O CodeExpression a interpretar.

Retornos

Um objeto resultante da interpretação de expression.

Comentários

Esse é um método auxiliar que classes derivadas podem chamar para desserializar uma expressão. Ele desserializa a instrução interpretando e executando a expressão CodeDOM especificada pelo expression parâmetro e retorna os resultados. Se um objeto precisar ser criado como resultado dessa expressão, ele receberá o nome especificado pelo name parâmetro . O nome poderá ser null se não houver necessidade de nomear o objeto. A tabela a seguir descreve como expressões específicas são tratadas.

Expression Comportamento
CodeThisReferenceExpression Essa expressão representa this ou Me. Para localizar o objeto associado a essa expressão, o DeserializeExpression método procurará na pilha de contexto de um RootContext. Esse objeto contém o objeto raiz do grafo e a expressão que o representa. Se o objeto estiver presente e a expressão corresponder, o objeto raiz será retornado. Um erro será relatado se uma instância não puder ser localizada.
CodeFieldReferenceExpression Se o destino da referência de campo for avaliado como o objeto raiz, o GetInstance método do parâmetro manager será usado para recuperar a instância do objeto com base no nome. Caso contrário, a reflexão padrão é usada no objeto de destino para localizar o campo solicitado. Um erro será relatado se o campo não puder ser localizado.
CodeVariableReferenceExpression O GetInstance método do manager parâmetro é usado para localizar a instância que representa o nome da variável fornecida. Um erro será relatado se uma instância não puder ser localizada.

DeserializeExpression continua a interpretar expressões até que elas sejam completamente resolvidas para um objeto ou até que ela não possa mais simplificar a expressão. Nesse caso, DeserializeExpression retornará um CodeExpression que contém a expressão mais simplificada. Não há suporte para as seguintes expressões:

Aplica-se a

Confira também