次の方法で共有


IVisualizerObjectProvider インターフェイス

定義

デバッグ対象のオブジェクト データをビジュアライザーに提供します。

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 を呼び出します。 戻り時に受信データを逆シリアル化し、逆シリアル化されたオブジェクトを返します

適用対象