Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
DebuggerTypeProxyAttribute menentukan proksi, atau stand-in, untuk jenis dan mengubah cara jenis ditampilkan di jendela debugger. Saat Anda melihat variabel yang menggunakan proksi, proksi menggantikan jenis asli dalam tampilan. Jendela variabel debugger hanya menampilkan anggota publik dari jenis proksi. Anggota privat tidak ditampilkan.
Atribut ini dapat diterapkan ke:
- Struktur
- Kelas
- Assemblies
Nota
Untuk kode asli, atribut ini hanya didukung dalam kode C++/CLI.
Kelas proksi tipe harus memiliki konstruktor yang menerima argumen dari tipe yang akan digantikan oleh proksi. Debugger membuat instans baru dari kelas proksi jenis setiap kali perlu menampilkan variabel jenis target. Ini dapat memiliki implikasi performa. Akibatnya, hindari pekerjaan yang tidak perlu di konstruktor.
Untuk meminimalkan penalti kinerja, evaluasi ekspresi tidak memeriksa atribut pada proksi tampilan tipe kecuali tipe tersebut diperluas ketika pengguna mengklik simbol + di jendela debugger atau dengan menggunakan DebuggerBrowsableAttribute. Oleh karena itu, jangan menempatkan atribut pada jenis tampilan itu sendiri. Atribut dapat dan harus digunakan dalam isi jenis tampilan.
Sebaiknya proksi tipe merupakan kelas bersarang privat dalam kelas yang ditargetkan oleh atribut. Ini memungkinkannya untuk mengakses anggota internal dengan mudah.
DebuggerTypeProxyAttribute dapat diwariskan, jadi jika proksi jenis ditentukan pada kelas dasar, itu berlaku untuk kelas turunan apa pun, kecuali kelas turunan tersebut menentukan proksi jenisnya sendiri.
Jika DebuggerTypeProxyAttribute digunakan pada tingkat perakitan, Target parameter menentukan jenis proksi yang akan diganti.
Untuk contoh cara menggunakan atribut ini bersama dengan DebuggerDisplayAttribute dan DebuggerTypeProxyAttribute, lihat Menggunakan Atribut DebuggerDisplay.
Penting
Jika Anda memilih opsi Tampilkan struktur mentah objek dalam jendela variabel , DebuggerDisplay atribut diabaikan. Pengaturan ini terletak di panelOpsi> di bagian Semua Pengaturan>Debugging>Umum.
Penting
Jika Anda memilih opsi Tampilkan struktur mentah objek dalam jendela variabel , DebuggerDisplay atribut diabaikan. Pengaturan ini terletak di dialogOpsi> di bagian Men-debug>Umum.
Menggunakan Generik dengan DebuggerTypeProxy
Dukungan untuk generik terbatas. Untuk C#, DebuggerTypeProxy hanya mendukung jenis terbuka. Jenis terbuka, juga disebut jenis yang tidak dikonstruksi, adalah jenis generik yang tidak dibuat dengan argumen untuk parameter jenisnya. Jenis tertutup, juga disebut tipe konstruksi, tidak didukung.
Sintaks untuk jenis terbuka terlihat seperti ini:
Namespace.TypeName<,>
Jika Anda menggunakan jenis generik sebagai target di DebuggerTypeProxy, Anda harus menggunakan sintaks ini. Mekanisme DebuggerTypeProxy menyimpulkan parameter tipe untuk Anda.
Untuk informasi selengkapnya tentang jenis terbuka dan tertutup di C# lihat Spesifikasi Bahasa C#, bagian 20.5.2 Jenis terbuka dan tertutup.
Visual Basic tidak memiliki sintaks jenis terbuka, sehingga Anda tidak dapat melakukan hal yang sama di Visual Basic. Sebagai gantinya, Anda harus menggunakan representasi string dari nama jenis terbuka.
"Namespace.TypeName'2"