IVisualizerObjectProvider3 Antarmuka
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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. |