Поделиться через


Реализация вычислителя выражений

Внимание

В Visual Studio 2015 такая реализация вычислителя выражений была сделана нерекомендуемой. Сведения о реализации вычислителей выражений в среде CLR см. на страницах CLR expression evaluators (Вычислители выражений CLR) и Managed expression evaluator sample (Пример управляемого вычислителя выражений).

Оценка выражения — это сложное взаимодействие между обработчиком отладки (DE), поставщиком символов (SP), объектом привязки и оценщиком выражений (EE). Эти четыре компонента связаны интерфейсами, которые реализуются одним компонентом и используются другим.

EE принимает выражение из DE в виде строки и анализирует или вычисляет его. EE выполняет следующие интерфейсы, которые используются de de:

  • IDebugExpressionEvaluator

  • IDebugParsedExpression

    EE вызывает объект привязки, предоставленный DE, чтобы получить значение символов и объектов. EE использует следующие интерфейсы, реализованные de de:

  • IDebugObject

  • IDebugArrayObject

  • IDebugFunctionObject

  • IDebugPointerObject

  • IDebugManagedObject

  • IEnumDebugObjects

  • IDebugBinder

    EE запускает IDebugProperty2. IDebugProperty2 предоставляет механизм описания результата вычисления выражения, например локальной переменной, примитива или объекта в Visual Studio, который затем отображает соответствующие сведения в окне "Локальные", "Контрольные" или "Интерпретация ".

    Служба обновления предоставляется EE de, когда запрашивает информацию. Sp запускает интерфейсы, описывающие адреса и поля, такие как следующие интерфейсы и их производные:

  • IDebugSymbolProvider

  • IDebugAddress

  • IDebugField

    EE использует все эти интерфейсы.

В этом разделе

Стратегия реализации вычислителя выражений определяет трехэтапный процесс для стратегии реализации вычислителя выражений (EE).