DebuggerTypeProxyAttribute Konstruktor
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.
Menginisialisasi instans DebuggerTypeProxyAttribute baru kelas menggunakan jenis proksi.
Overload
DebuggerTypeProxyAttribute(String) |
Menginisialisasi instans DebuggerTypeProxyAttribute baru kelas menggunakan nama jenis proksi. |
DebuggerTypeProxyAttribute(Type) |
Menginisialisasi instans DebuggerTypeProxyAttribute baru kelas menggunakan jenis proksi. |
DebuggerTypeProxyAttribute(String)
Menginisialisasi instans DebuggerTypeProxyAttribute baru kelas menggunakan nama jenis proksi.
public:
DebuggerTypeProxyAttribute(System::String ^ typeName);
public DebuggerTypeProxyAttribute (string typeName);
new System.Diagnostics.DebuggerTypeProxyAttribute : string -> System.Diagnostics.DebuggerTypeProxyAttribute
Public Sub New (typeName As String)
Parameter
- typeName
- String
Nama jenis proksi.
Keterangan
Debugger membuat instans baru dari kelas proksi jenis setiap kali perlu menampilkan variabel jenis target. Ini dapat memiliki implikasi performa. Akibatnya, Anda tidak boleh melakukan pekerjaan lagi di konstruktor daripada yang benar-benar diperlukan.
Berlaku untuk
DebuggerTypeProxyAttribute(Type)
Menginisialisasi instans DebuggerTypeProxyAttribute baru kelas menggunakan jenis proksi.
public:
DebuggerTypeProxyAttribute(Type ^ type);
public DebuggerTypeProxyAttribute (Type type);
new System.Diagnostics.DebuggerTypeProxyAttribute : Type -> System.Diagnostics.DebuggerTypeProxyAttribute
Public Sub New (type As Type)
Parameter
- type
- Type
Jenis proksi.
Pengecualian
type
adalah null
.
Contoh
Contoh kode berikut menunjukkan penggunaan DebuggerTypeProxyAttribute(Type) konstruktor untuk menentukan proksi tampilan debugger. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk DebuggerDisplayAttribute kelas .
[DebuggerTypeProxy(HashtableDebugView::typeid)]
ref class MyHashtable : Hashtable
{
private:
static const String^ TestString = "This should not appear in the debug window.";
internal:
ref class HashtableDebugView
{
private:
Hashtable^ hashtable;
public:
static const String^ TestString = "This should appear in the debug window.";
HashtableDebugView(Hashtable^ hashtable)
{
this->hashtable = hashtable;
}
[DebuggerBrowsable(DebuggerBrowsableState::RootHidden)]
property array<KeyValuePairs^>^ Keys
{
array<KeyValuePairs^>^ get()
{
array<KeyValuePairs^>^ keys = gcnew array<KeyValuePairs^>(hashtable->Count);
IEnumerator^ ie = hashtable->Keys->GetEnumerator();
int i = 0;
Object^ key;
while (ie->MoveNext())
{
key = ie->Current;
keys[i] = gcnew KeyValuePairs(hashtable, key, hashtable[key]);
i++;
}
return keys;
}
}
};
};
[DebuggerTypeProxy(typeof(HashtableDebugView))]
class MyHashtable : Hashtable
{
private const string TestString = "This should not appear in the debug window.";
internal class HashtableDebugView
{
private Hashtable hashtable;
public const string TestString = "This should appear in the debug window.";
public HashtableDebugView(Hashtable hashtable)
{
this.hashtable = hashtable;
}
[DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
public KeyValuePairs[] Keys
{
get
{
KeyValuePairs[] keys = new KeyValuePairs[hashtable.Count];
int i = 0;
foreach(object key in hashtable.Keys)
{
keys[i] = new KeyValuePairs(hashtable, key, hashtable[key]);
i++;
}
return keys;
}
}
}
}
<DebuggerDisplay("Count = {Count}"), DebuggerTypeProxy(GetType(MyHashtable.HashtableDebugView))> _
Class MyHashtable
Inherits Hashtable
Private Const TestString As String = "This should not appear in the debug window."
Friend Class HashtableDebugView
Private hashtable As Hashtable
Public Shared TestString As String = "This should appear in the debug window."
Public Sub New(ByVal hashtable As Hashtable)
Me.hashtable = hashtable
End Sub
<DebuggerBrowsable(DebuggerBrowsableState.RootHidden)> _
ReadOnly Property Keys as KeyValuePairs()
Get
Dim nkeys(hashtable.Count) as KeyValuePairs
Dim i as Integer = 0
For Each key As Object In hashtable.Keys
nkeys(i) = New KeyValuePairs(hashtable, key, hashtable(key))
i = i + 1
Next
Return nkeys
End Get
End Property
End Class
End Class
Keterangan
Debugger membuat instans baru dari kelas proksi jenis setiap kali perlu menampilkan variabel jenis target. Ini dapat memiliki implikasi performa. Akibatnya, Anda tidak boleh melakukan pekerjaan lagi di konstruktor daripada yang benar-benar diperlukan.
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk