共用方式為


運算式評估器實作策略

這很重要

在 Visual Studio 2015 中,這種實作運算式評估器的方式已被取代。 如需實作 CLR 運算式評估工具的相關資訊,請參閱 CLR 運算式評估工具Managed 運算式評估工具範例

快速建立運算式評估器 (EE) 的其中一種方法是先實作在 [局部變數] 視窗中顯示局部變數所需的最少程式碼。 瞭解 [區域變數] 視窗中的每一行都會顯示區域變數的名稱、類型和值,而且這三個變數都由 IDebugProperty2 物件表示,這很有用。 呼叫物件的 IDebugProperty2 方法 GetPropertyInfo 後,取得區域變數的名稱、類型和值。 如需如何在 「局部變數」 視窗中顯示局部變數的詳細資訊,請參閱 顯示局部變數

討論

可能的實作順序會從實作 IDebugExpressionEvaluator 開始。 必須實作 ParseGetMethodProperty 方法,才能顯示區域變數。 呼叫IDebugExpressionEvaluator::GetMethodProperty會傳回表示方法的IDebugProperty2物件,也就是IDebugMethodField物件。 方法本身不會顯示在 [區域變數] 視窗中。

接下來應該實作 EnumChildren 方法。 偵錯引擎 (DE) 會呼叫這個方法,透過傳遞 IDebugProperty2::EnumChildrenguidFilter 作為 guidFilterLocalsPlusArgs 參數來取得局部變數和參數的清單。 IDebugProperty2::EnumChildren 呼叫 EnumArgumentsEnumLocals,將結果合併到單一列舉中。 如需詳細資訊,請參閱顯示區域變數。