CodeDomSerializerBase.DeserializeExpression Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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: