IVisualizerObjectProvider インターフェイス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
デバッグ対象のオブジェクト データをビジュアライザーに提供します。
public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
- 派生
例
public class DebuggerSide : DialogDebuggerVisualizer
{
override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)
{
MessageBox.Show(objectProvider.GetObject<object>().ToString());
}
// . . . Other methods omitted for clarity.
}
注釈
ビジュアライザーは、Visual Studio デバッガーが特定のデータ型のオブジェクトを意味のある方法で表示 (視覚化) するために使用する小さなプログラムです。 オブジェクトを視覚化するために、ビジュアライザーはデバッガー プロセス (デバッガー側) で実行されるコードと、デバッグ中のプロセス (デバッグ対象側) のコードを使用します。
デバッガー側とデバッグ対象側は、 と IVisualizerObjectProviderを使用VisualizerObjectSourceして相互に通信します。
デバッグ対象側では、 を使用 VisualizerObjectSource してデバッガー側の VisualizerObjectSource オブジェクトを指定します。 デバッガー側では、 インターフェイスで メソッドを呼び出すことによって、この情報を IVisualizerObjectProvider 要求および受信します。
ビジュアライザーでは、データを編集したり、表示したりできます。 ビジュアライザーでデータの編集がサポートされている場合は、 または を使用してTransferData(Stream)TransferObject(Object)データを呼び出ReplaceData(Stream)すかReplaceObject(Object)、デバッグ対象に転送してデータを完全に置き換える必要があります。 データを保存し直す場合は、独自のオブジェクト ソースも作成する必要があります。
プロパティ
IsBinaryFormatterSupported |
.NET 5 で非推奨になったので、デバッグ対象が BinaryFormatter をサポートするかどうかを指定します。 そうでない場合、プロバイダーは JSON を使用してビジュアライザーと通信します。 |
IsObjectReplaceable |
置換オブジェクトを作成できるかどうかを指定します。 つまり、視覚化されるデータ オブジェクトが置き換え可能 (読み取り/書き込み) か、置換不可能 (読み取り専用) かを決定します。 |
メソッド
GetData() |
デバッグ中のオブジェクトに関するデータの初期 BLOB を取得します。 データは、提供された MemoryStream に書き込まれます。 |
GetObject() |
古い.
GetData を使用してデータを取得し、既定のシリアル化が行われたと仮定して逆シリアル化します |
ReplaceData(Stream) |
指定されたシリアル化されたデータに基づいて、オブジェクトの置換コピーを作成します。 |
ReplaceObject(Object) |
既定のシリアル化を使用してオブジェクトをシリアル化し、ReplaceData を使用してデータを設定します |
TransferData(Stream) |
VisualizerObjectSource の TransferData メソッドに双方向にデータを転送します |
TransferObject(Object) |
古い.
既定のシリアル化を使用して送信オブジェクトをシリアル化し、TransferData を呼び出します。 戻り時に受信データを逆シリアル化し、逆シリアル化されたオブジェクトを返します |