Interfaces do avaliador de expressão de chaveKey expression evaluator interfaces

Important

No Visual Studio 2015, essa forma de implementar os avaliadores de expressão foi preterida.In Visual Studio 2015, this way of implementing expression evaluators is deprecated. Para obter informações sobre como implementar os avaliadores de expressão de CLR, consulte avaliadores de expressão de CLR e amostra do avaliador de expressão gerenciado.For information about implementing CLR expression evaluators, please see CLR expression evaluators and Managed expression evaluator sample.

Ao escrever um avaliador de expressão (EE), junto com o contexto de avaliação, você deve estar familiarizado com as seguintes interfaces.When writing an expression evaluator (EE), along with the evaluation context, you should be familiar with the following interfaces.

Descrições da interfaceInterface descriptions

  • IDebugAddressIDebugAddress

    Tem um único método, GetAddress, que obtém uma estrutura de dados que representa o ponto atual de execução.Has a single method, GetAddress, which gets a data structure that represents the current point of execution. Essa estrutura de dados é um dos três argumentos que o mecanismo de depuração (DES) passa para o EvaluateSync método para avaliar uma expressão.This data structure is one of the three arguments that the debug engine (DE) passes to the EvaluateSync method to evaluate an expression. Normalmente, essa interface é implementada pelo provedor de símbolo.This interface is typically implemented by the symbol provider.

  • IDebugBinderIDebugBinder

    Tem o associar método, que obtém a área de memória que contém o valor atual de um símbolo.Has the Bind method, which gets the memory area that contains the current value of a symbol. Com o método recipiente, representado por um IDebugObject objeto e o símbolo em si, representado por um IDebugField objeto, IDebugBinder::Bind retorna o valor do símbolo.Given both the containing method, represented by an IDebugObject object, and the symbol itself, represented by an IDebugField object, IDebugBinder::Bind returns the value of the symbol. IDebugBinder costuma ser implementada por DE.IDebugBinder is typically implemented by the DE.

  • IDebugFieldIDebugField

    Representa um tipo de dados simples.Represents a simple data type. Para tipos mais complexos, como matrizes e métodos, use o derivada IDebugArrayField e IDebugMethodField interfaces, respectivamente.For more complex types, such as arrays and methods, use the derived IDebugArrayField and IDebugMethodField interfaces, respectively. IDebugContainerField é outra interface derivada importante que representa os símbolos que contém outros símbolos, como métodos ou classes.IDebugContainerField is another important derived interface that represents symbols containing other symbols, like methods or classes. O IDebugField interface (e seus derivados) normalmente são implementados pelo provedor de símbolo.The IDebugField interface (and its derivatives) is typically implemented by the symbol provider.

    Uma IDebugField objeto pode ser usada para localizar o nome e tipo de um símbolo e, junto com um IDebugBinder de objeto, pode ser usado para localizar seu valor.An IDebugField object can be used to find the name and type of a symbol and, together with an IDebugBinder object, can be used to find its value.

  • IDebugObjectIDebugObject

    Representa os bits reais do valor de tempo de execução de um símbolo.Represents the actual bits of the run-time value of a symbol. Associar usa um IDebugField object, que representa um símbolo e retorna um IDebugObject objeto.Bind takes an IDebugField object, which represents a symbol, and returns an IDebugObject object. O GetValue método retorna o valor do símbolo em um buffer de memória.The GetValue method returns the value of the symbol in a memory buffer. Normalmente, a DE implementa essa interface para representar o valor de uma propriedade na memória.A DE typically implements this interface to represent the value of a property in memory.

  • IDebugExpressionEvaluatorIDebugExpressionEvaluator

    Essa interface representa o avaliador de expressão.This interface represents the expression evaluator itself. O método principal é analisar, que retorna um IDebugParsedExpression interface.The key method is Parse, which returns an IDebugParsedExpression interface.

  • IDebugParsedExpressionIDebugParsedExpression

    Essa interface representa uma expressão analisada pronta para ser avaliada.This interface represents a parsed expression ready to be evaluated. O método principal é EvaluateSync que retorna um IDebugProperty2 que representa o valor e o tipo da expressão.The key method is EvaluateSync which returns an IDebugProperty2 representing the value and type of the expression.

  • IDebugProperty2IDebugProperty2

    Essa interface representa um valor e seu tipo e é o resultado de uma avaliação de expressão.This interface represents a value and its type and is the result of an expression evaluation.

Consulte tambémSee also

Contexto de avaliaçãoEvaluation context