Applies to: yesVisual Studio noVisual Studio for Mac noVisual Studio Code


In Visual Studio 2015, this way of implementing expression evaluators is deprecated. For information about implementing CLR expression evaluators, please see CLR Expression Evaluators and Managed Expression Evaluator Sample.

This interface represents a function.


IDebugFunctionObject : IDebugObject

Notes for Implementers

An expression evaluator implements this interface to represent a function.

Notes for Callers

This interface is a specialization of the IDebugObject interface and is obtained using QueryInterface on the IDebugObject interface.

Methods in Vtable Order

In addition to the methods inherited from IDebugObject, the IDebugFunctionObject interface exposes the following methods.

Method Description
CreatePrimitiveObject Creates a primitive data object.
CreateObject Creates an object using a constructor.
CreateObjectNoConstructor Creates an object with no constructor.
CreateArrayObject Creates an array object.
CreateStringObject Creates a string object.
Evaluate Calls the function and returns the resulting value as an object.


This interface enables the expression evaluator to represent functions in a parse tree. The Create methods in this interface are used to construct objects representing the input parameters to the method. The function can then be executed by calling the Evaluate method, which returns an object representing the return value of the function.


Header: ee.h

Namespace: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

See also