Интерфейсы средства оценки ключевых выражений

Важно!

В Visual Studio 2015 такая реализация вычислителя выражений была сделана нерекомендуемой. Дополнительные сведения о реализации вычислителей выражений CLR см. в разделе средства оценки выражений CLR и Пример управляемого средства оценки выражений.

при написании средства оценки выражений (EE) вместе с контекстом оценки необходимо ознакомиться со следующими интерфейсами.

Описания интерфейсов

  • IDebugAddress

    Содержит единственный метод,- Address, который получает структуру данных, представляющую текущую точку выполнения. Эта структура данных является одним из трех аргументов, которые модуль отладки (DE) передает методу евалуатесинк для вычисления выражения. Этот интерфейс обычно реализуется поставщиком символов.

  • IDebugBinder

    Имеет метод BIND , который получает область памяти, содержащую текущее значение символа. При наличии как содержащего метода, представленного объектом идебугобжект , так и самого символа, представленного объектом идебугфиелд , IDebugBinder::Bind возвращает значение символа. IDebugBinder обычно реализуется методом DE.

  • IDebugField

    Представляет простой тип данных. Для более сложных типов, таких как массивы и методы, используйте производные интерфейсы идебугаррайфиелд и идебугмесодфиелд соответственно. Идебугконтаинерфиелд — это еще один важный производный интерфейс, который представляет символы, содержащие другие символы, такие как методы или классы. IDebugFieldИнтерфейс (и его производные) обычно реализуется поставщиком символов.

    IDebugFieldОбъект можно использовать для поиска имени и типа символа и, вместе с объектом идебугбиндер , можно использовать для поиска его значения.

  • IDebugObject

    Представляет фактические биты значения символа времени выполнения. BIND принимает объект идебугфиелд , который представляет символ, и возвращает объект идебугобжект . Метод GetValue возвращает значение символа в буфере памяти. Обычно DE реализует этот интерфейс для представления значения свойства в памяти.

  • IDebugExpressionEvaluator

    Этот интерфейс представляет сам средство оценки выражений. Ключевой метод — это синтаксический анализ, который возвращает интерфейс идебугпарседекспрессион .

  • IDebugParsedExpression

    Этот интерфейс представляет проанализированное выражение, готовое для оценки. Ключевым методом является евалуатесинк , который возвращает IDebugProperty2, представляющий значение и тип выражения.

  • IDebugProperty2

    Этот интерфейс представляет значение и его тип и является результатом вычисления выражения.

См. также