重要
在 Visual Studio 2015 中,这种实现表达式计算器的方法已弃用。 有关实现 CLR 表达式计算器的信息,请参阅 CLR 表达式计算器 和 托管表达式计算器示例。
快速创建表达式计算器(EE)的一种方法是首先实现在 局部变量 窗口中显示局部变量所需的最低代码。 意识到 Locals 窗口中的每一行都显示局部变量的名称、类型和值,并且这三者由 IDebugProperty2 对象表示。 本地变量的名称、类型和值是通过调用其 IDebugProperty2 方法从对象获取的。 有关如何在 “局部变量 ”窗口中显示局部变量的详细信息,请参阅 “显示局部变量”。
讨论
可能的实现序列从实现 IDebugExpressionEvaluator 开始。 必须实现 Parse 和 GetMethodProperty 方法以显示局部变量。 调用 IDebugExpressionEvaluator::GetMethodProperty 返回表示 IDebugProperty2 方法的对象:即 IDebugMethodField 对象。 方法本身不会显示在 “局部变量 ”窗口中。
接下来应实现 EnumChildren 方法。 调试引擎 (DE) 通过传递IDebugProperty2::EnumChildrenguidFilter参数来调用此方法以获取局部变量和参数guidFilterLocalsPlusArgs的列表。
IDebugProperty2::EnumChildren 调用 EnumArguments 和 EnumLocals,将结果组合在一个枚举中。 有关更多详细信息,请参阅 “显示局部变量 ”。