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 | |
---|---|---|
IsObjectReplaceable |
Top
Methods
Name | Description | |
---|---|---|
GetData | ||
GetObject | ||
ReplaceData | ||
ReplaceObject | ||
TransferData | ||
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.
}