Interfaces d’évaluateur d’Expression cléKey Expression Evaluator Interfaces

Important

Dans Visual Studio 2015, ce moyen d’implémenter des évaluateurs d’expression est déconseillée.In Visual Studio 2015, this way of implementing expression evaluators is deprecated. Pour plus d’informations sur l’implémentation des évaluateurs d’expression CLR, consultez évaluateurs d’Expression CLR et exemple d’évaluateur d’Expression managé.For information about implementing CLR expression evaluators, please see CLR Expression Evaluators and Managed Expression Evaluator Sample.

Lorsque vous écrivez un évaluateur d’expression (EE), ainsi que le contexte d’évaluation, vous devez être familiarisé avec les interfaces suivantes.When writing an expression evaluator (EE), along with the evaluation context, you should be familiar with the following interfaces.

Descriptions de l’interfaceInterface Descriptions

  • IDebugAddressIDebugAddress

    A une méthode unique, GetAddress, qui obtient une structure de données qui représente le point en cours d’exécution.Has a single method, GetAddress, which gets a data structure that represents the current point of execution. Cette structure de données est un des trois arguments qui passe par le moteur de débogage (Allemagne) à la EvaluateSync méthode pour évaluer une expression.This data structure is one of the three arguments that the debug engine (DE) passes to the EvaluateSync method to evaluate an expression. Cette interface est généralement implémentée par le fournisseur de symboles.This interface is typically implemented by the symbol provider.

  • IDebugBinderIDebugBinder

    A la lier méthode qui obtient la zone de mémoire qui contient la valeur actuelle d’un symbole.Has the Bind method, which gets the memory area that contains the current value of a symbol. Étant donné à la fois la méthode conteneur, représentée par une IDebugObject objet et au symbole lui-même, représenté par une IDebugField objet, IDebugBinder::Bind retourne la valeur du symbole.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 est généralement implémentée par le DE.IDebugBinder is typically implemented by the DE.

  • IDebugFieldIDebugField

    Représente un type de données simple.Represents a simple data type. Pour des types complexes, tels que les tableaux et les méthodes, utilisez dérivé IDebugArrayField et IDebugMethodField des interfaces, respectivement.For more complex types, such as arrays and methods, use the derived IDebugArrayField and IDebugMethodField interfaces, respectively. IDebugContainerField est une autre interface dérivée importante qui représente les symboles contenant d’autres symboles, tels que les méthodes ou les classes.IDebugContainerField is another important derived interface that represents symbols containing other symbols, like methods or classes. Le IDebugField interface (et ses dérivés) sont généralement implémentées par le fournisseur de symboles.The IDebugField interface (and its derivatives) is typically implemented by the symbol provider.

    Un IDebugField objet peut être utilisé pour rechercher le nom et le type d’un symbole et, avec un IDebugBinder d’objet, peut être utilisé pour rechercher sa valeur.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

    Représente les bits réelles de la valeur de l’exécution d’un symbole.Represents the actual bits of the run-time value of a symbol. Lier prend un IDebugField objet, qui représente un symbole et retourne un IDebugObject objet.Bind takes an IDebugField object, which represents a symbol, and returns an IDebugObject object. Le GetValue méthode retourne la valeur du symbole dans une mémoire tampon.The GetValue method returns the value of the symbol in a memory buffer. En général, un D’implémente cette interface pour représenter la valeur d’une propriété dans la mémoire.A DE typically implements this interface to represent the value of a property in memory.

  • IDebugExpressionEvaluatorIDebugExpressionEvaluator

    Cette interface représente l’évaluateur d’expression lui-même.This interface represents the expression evaluator itself. La méthode clé est analyser, qui retourne un IDebugParsedExpression interface.The key method is Parse, which returns an IDebugParsedExpression interface.

  • IDebugParsedExpressionIDebugParsedExpression

    Cette interface représente une expression analysée prête à être évaluée.This interface represents a parsed expression ready to be evaluated. La méthode clé est EvaluateSync qui retourne un IDebugProperty2 représentant la valeur et le type de l’expression.The key method is EvaluateSync which returns an IDebugProperty2 representing the value and type of the expression.

  • IDebugProperty2IDebugProperty2

    Cette interface représente une valeur et son type et est le résultat d’une évaluation d’expression.This interface represents a value and its type and is the result of an expression evaluation.

Voir aussiSee Also

Contexte d’évaluationEvaluation Context