CodeDomSerializerBase.DeserializeExpression Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- IDesignerSerializationManager
- CodeExpression
- Dynamic Source Code Generation and Compilation (Compilação e geração de código-fonte dinâmico)