Bagikan melalui


IVisualizerObjectProvider Antarmuka

Definisi

Menyediakan data objek dari debuggee ke visualizer.

public interface class IVisualizerObjectProvider
public interface class IVisualizerObjectProvider
__interface IVisualizerObjectProvider
public interface IVisualizerObjectProvider
type IVisualizerObjectProvider = interface
Public Interface IVisualizerObjectProvider
Turunan

Contoh

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

Keterangan

Visualizer adalah program kecil yang digunakan debugger Visual Studio untuk menampilkan (memvisualisasikan) objek dari jenis data tertentu dengan cara yang bermakna. Untuk memvisualisasikan objek, visualizer menggunakan kode yang berjalan dalam proses debugger (sisi debugger) dan kode dalam proses yang sedang di-debug (sisi debuggee).

Sisi debugger dan sisi debuggee berkomunikasi satu sama lain dengan menggunakan VisualizerObjectSource dan IVisualizerObjectProvider.

Sisi debuggee menggunakan VisualizerObjectSource untuk menentukan VisualizerObjectSource objek untuk sisi debugger. Sisi debugger meminta dan menerima informasi ini dengan memanggil metode pada IVisualizerObjectProvider antarmuka.

Visualizer dapat mengedit, serta menampilkan, data. Jika visualizer Anda mendukung pengeditan data, Anda harus mengganti data sepenuhnya dengan memanggil ReplaceData(Stream) atau ReplaceObject(Object) atau mentransfer data kembali ke debuggee menggunakan TransferData(Stream) atau TransferObject(Object). Jika Anda ingin menyimpan data kembali, Anda juga perlu membuat sumber objek Anda sendiri.

Properti

IsBinaryFormatterSupported

Menentukan apakah debuggee mendukung BinaryFormatter karena tidak digunakan lagi di .NET 5. Jika tidak, penyedia paling banyak menggunakan JSON untuk berkomunikasi dengan visualizer.

IsObjectReplaceable

Menentukan apakah objek pengganti dapat dibuat. Artinya, menentukan apakah objek data yang divisualisasikan dapat diganti (baca/tulis) atau tidak dapat diubah (baca saja).

Metode

GetData()

Mendapatkan blob awal data tentang objek yang sedang di-debug. Data ditulis ke dalam MemoryStream yang disediakan.

GetObject()
Kedaluwarsa.

Mendapatkan data menggunakan GetData lalu mendeserialisasi dengan asumsi bahwa serialisasi default telah dilakukan

ReplaceData(Stream)

Membuat salinan pengganti objek berdasarkan data berseri yang diberikan.

ReplaceObject(Object)

Menserialisasikan objek menggunakan serialisasi default lalu mengatur data menggunakan ReplaceData

TransferData(Stream)

Mentransfer data secara dua arah ke metode TransferData pada VisualizerObjectSource

TransferObject(Object)
Kedaluwarsa.

Menserialisasikan objek keluar menggunakan serialisasi default lalu memanggil TransferData. Setelah kembali mendeserialisasi data masuk dan mengembalikan objek yang dideserialisasi

Berlaku untuk