Bagikan melalui


IVisualizerObjectProvider3 Antarmuka

Definisi

Memungkinkan debugger visualizer dan komponen sisi debuggee mengoordinasikan mekanisme serialisasi mana yang akan digunakan, dan menyediakan fungsionalitas tambahan untuk meneruskan data ke sisi debuggee dengan mempertimbangkan SelectedFormatterPolicy.

public interface IVisualizerObjectProvider3 : Microsoft.VisualStudio.DebuggerVisualizers.IVisualizerObjectProvider2
type IVisualizerObjectProvider3 = interface
    interface IVisualizerObjectProvider2
    interface IVisualizerObjectProvider
Public Interface IVisualizerObjectProvider3
Implements IVisualizerObjectProvider2
Penerapan

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.

(Diperoleh dari IVisualizerObjectProvider)
IsObjectReplaceable

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

(Diperoleh dari IVisualizerObjectProvider)
SelectedFormatterPolicy

Kebijakan format yang akan digunakan kelas ini saat membuat serialisasi/deserialisasi informasi.

Metode

Deserialize(Stream)
Kedaluwarsa.

Metode pembantu warisan yang digunakan oleh visualizer lama yang memudahkan untuk menulis kode deserialisasi. Ini menggunakan serialisasi biner default untuk membaca objek yang diberikan dari aliran. Namun, karena kerentanan keamanan dengan penggunaannya, itu tidak boleh lagi digunakan, dan akan melemparkan versi .NET yang lebih baru seperti ASP.NET Core 5.0.

Jika dipanggil pada aplikasi target yang mendukung Serialisasi Biner, setelah metode selesai, aliran dibaca dan kami mengembalikan objek yang mendasarinya.

(Diperoleh dari IVisualizerObjectProvider2)
DeserializeFromJson<T>(Stream, Object)

Mendeserialisasi data dalam format Newtonsoft.Json dari aliran yang ditentukan ke objek dari jenis tertentu.

GetData()

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

(Diperoleh dari IVisualizerObjectProvider)
GetDeserializableObject()

Mendapatkan data menggunakan GetData lalu mengembalikan IDeserializableObject sehingga pemanggil dapat deserialisasi dengan JSON jika seriallisasi default tidak didukung.

(Diperoleh dari IVisualizerObjectProvider2)
GetDeserializableObjectFrom(Stream)

Metode pembantu yang dapat digunakan untuk mendapatkan objek yang dapat dideserialisasi untuk kasus di mana aplikasi target mungkin tidak mendukung Serialisasi Biner. Dalam kasus ini, format yang mendasar harus diserialisasikan menggunakan JSON, sehingga penelepon dapat mengkueri properti individual untuk menentukan jenis objek yang ingin mereka deserialisasi.

(Diperoleh dari IVisualizerObjectProvider2)
GetObject()
Kedaluwarsa.

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

(Diperoleh dari IVisualizerObjectProvider)
GetObject<T>()

Mendapatkan data menggunakan GetData() lalu mencoba mendeserialisasinya ke jenis yang ditentukan.

ReplaceData(Stream)

Membuat salinan pengganti objek berdasarkan data serial yang diberikan.

(Diperoleh dari IVisualizerObjectProvider)
ReplaceObject(Object)

Menserialisasikan objek menggunakan serialisasi default lalu mengatur data menggunakan ReplaceData

(Diperoleh dari IVisualizerObjectProvider)
Serialize(Object, Stream)

Metode pembantu yang memudahkan untuk menulis kode serialisasi.

Jika aplikasi target mendukung Serialisasi Biner, aplikasi tersebut menserialisasikan objek ke dalam aliran dengan bantuan kelas BinaryFormatter. Jika itu tidak didukung, yang merupakan kasus dalam versi .NET yang lebih baru, defaultnya adalah untuk membuat serialisasi objek dalam format JSON.

(Diperoleh dari IVisualizerObjectProvider2)
TransferData(Stream)

Mentransfer data secara dua arah ke metode TransferData pada VisualizerObjectSource

(Diperoleh dari IVisualizerObjectProvider)
TransferDeserializableObject(Object)

Menserialisasikan objek keluar menggunakan sebagai IDeserializableObject lalu memanggil TransferData. Setelah kembali mendeserialisasi data masuk dan mengembalikan objek yang dibungkus dalam IDeserializableObject.

(Diperoleh dari IVisualizerObjectProvider2)
TransferObject(Object)
Kedaluwarsa.

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

(Diperoleh dari IVisualizerObjectProvider)
TransferObject<T>(Object)

Menserialisasikan objek keluar menggunakan SelectedFormatterPolicy lalu memanggil TransferData(Stream). Setelah dikembalikan, ia mencoba mendeserialisasi data masuk dan mengembalikan objek dari jenis yang ditentukan.

Berlaku untuk