IVisualizerObjectProvider Interface

Namespace:  Microsoft.VisualStudio.DebuggerVisualizers
Assembly:  Microsoft.VisualStudio.DebuggerVisualizers (in Microsoft.VisualStudio.DebuggerVisualizers.dll)

Syntax

'Declaration
Public Interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
type IVisualizerObjectProvider =  interface end
public interface IVisualizerObjectProvider

The IVisualizerObjectProvider type exposes the following members.

Properties

  Name Description
Public property IsObjectReplaceable

Top

Methods

  Name Description
Public method GetData
Public method GetObject
Public method ReplaceData
Public method ReplaceObject
Public method TransferData
Public method TransferObject

Top

Remarks

A visualizer is a small program the Visual Studio debugger uses to display, that is, visualize, an object of a specific data type in meaningful fashion. To visualize an object, a visualizer uses code that runs in the debugger process (the debugger side) and code in the process being debugged (the debuggee side).

The debugger side and debuggee side communicate with each other using VisualizerObjectSource and IVisualizerObjectProvider.

The debuggee side uses VisualizerObjectSource to specify a VisualizerObjectSource object for the debugger side. The debugger side requests and receives this information by calling methods on the IVisualizerObjectProvider interface.

A visualizer can edit, as well as display, data. If your visualizer supports editing data, you must replace the data entirely by calling ReplaceData or ReplaceObject or transfer data back to the debuggee using TransferData or TransferObject. If you want to save data back, you also need to create your own object source.

Examples

public class DebuggerSide : DialogDebuggerVisualizer
{
   override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
   {
      MessageBox.Show(objectProvider.GetObject().ToString());
   }
// . . . Other methods omitted for clarity.
}

See Also

Reference

Microsoft.VisualStudio.DebuggerVisualizers Namespace