CodeDomSerializerBase.DeserializeExpression Método

Definição

Desserializa a expressão dada num objeto em 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);
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

A IDesignerSerializationManager usar para serialização.

name
String

O nome do objeto que resulta da expressão. Pode ser null , se não for necessário dar nome ao objeto.

expression
CodeExpression

A CodeExpression interpretar.

Devoluções

Um objeto resultante da interpretação de expression.

Observações

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

Expression Behavior
CodeThisReferenceExpression Esta expressão representa this ou Me. Para localizar o objeto associado a esta expressão, o DeserializeExpression método irá procurar na pilha de contexto um RootContext. Este objeto contém o objeto raiz do grafo e a expressão que o representa. Se o objeto estiver presente e a expressão coincidir, o objeto raiz será devolvido. Um erro é reportado se uma instância não puder ser localizada.
CodeFieldReferenceExpression Se o destino da referência de campo for avaliado para o objeto raiz, o GetInstance método do parâmetro gestor será usado para recuperar a instância do objeto com base no nome. Caso contrário, a reflexão padrão é usada contra o objeto alvo para localizar o campo solicitado. É reportado um erro 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 dado da variável. Um erro é reportado se uma instância não puder ser localizada.

DeserializeExpression continua a interpretar expressões até que estejam completamente resolvidas para um objeto, ou até que já não possa simplificar a expressão. Neste caso, DeserializeExpression devolverá um CodeExpression que contém a expressão mais simplificada. As seguintes expressões não são suportadas:

Aplica-se a

Ver também