TraceFilter.ShouldTrace Metode
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.
Ketika ditimpa di kelas turunan, menentukan apakah pendengar jejak harus melacak peristiwa.
public:
abstract bool ShouldTrace(System::Diagnostics::TraceEventCache ^ cache, System::String ^ source, System::Diagnostics::TraceEventType eventType, int id, System::String ^ formatOrMessage, cli::array <System::Object ^> ^ args, System::Object ^ data1, cli::array <System::Object ^> ^ data);
public abstract bool ShouldTrace (System.Diagnostics.TraceEventCache? cache, string source, System.Diagnostics.TraceEventType eventType, int id, string? formatOrMessage, object?[]? args, object? data1, object?[]? data);
public abstract bool ShouldTrace (System.Diagnostics.TraceEventCache cache, string source, System.Diagnostics.TraceEventType eventType, int id, string formatOrMessage, object[] args, object data1, object[] data);
abstract member ShouldTrace : System.Diagnostics.TraceEventCache * string * System.Diagnostics.TraceEventType * int * string * obj[] * obj * obj[] -> bool
Public MustOverride Function ShouldTrace (cache As TraceEventCache, source As String, eventType As TraceEventType, id As Integer, formatOrMessage As String, args As Object(), data1 As Object, data As Object()) As Boolean
Parameter
- cache
- TraceEventCache
TraceEventCache yang berisi informasi untuk peristiwa pelacakan.
- source
- String
Nama sumber.
- eventType
- TraceEventType
Salah satu nilai yang TraceEventType menentukan jenis peristiwa yang telah menyebabkan jejak.
- id
- Int32
Nomor pengidentifikasi pelacakan.
- formatOrMessage
- String
Baik format yang digunakan untuk menulis array argumen yang ditentukan oleh args parameter, atau pesan untuk ditulis.
- args
- Object[]
Array objek argumen.
- data1
- Object
Objek data pelacakan.
- data
- Object[]
Array objek data pelacakan.
Mengembalikan
true untuk melacak peristiwa yang ditentukan; jika tidak, false.
Contoh
Contoh kode berikut menunjukkan cara mengambil ShouldTrace alih metode untuk menunjukkan pelacakan harus terjadi ketika jenis peristiwa pelacakan peristiwa sama dengan TraceEventType.Error.
public ref class ErrorFilter : TraceFilter
{
public:
virtual bool ShouldTrace(TraceEventCache^ cache, String^ source,
TraceEventType eventType, int id, String^ formatOrMessage,
array<Object^>^ args, Object^ data, array<Object^>^ dataArray) override
{
return eventType == TraceEventType::Error;
}
};
public class ErrorFilter : TraceFilter
{
override public bool ShouldTrace(TraceEventCache cache, string source,
TraceEventType eventType, int id, string formatOrMessage,
object[] args, object data, object[] dataArray)
{
return eventType == TraceEventType.Error;
}
}
Public Class ErrorFilter
Inherits TraceFilter
Public Overrides Function ShouldTrace ( cache As TraceEventCache, _
source As String, eventType As TraceEventType, _
id As Integer, formatOrMessage As String, _
args As Object(), data As Object, _
dataArray As Object() ) As Boolean
If eventType = TraceEventType.Error Then
Return True
Else
Return False
End If
End Function
End Class
Catatan Bagi Implementer
Implementasi metode ini harus dikembalikan true jika peristiwa yang ditentukan oleh parameter yang diteruskan harus dilacak. Jika tidak, metode harus mengembalikan false. Misalnya, filter yang hanya memungkinkan peristiwa kesalahan untuk diteruskan ke pendengar harus memeriksa eventType parameter dan mengembalikan true jika tingkat jenis peristiwa pelacakan diatur ke Error atau lebih besar; jika tidak, itu harus mengembalikan false.
Implementasi metode harus disiapkan untuk menangani null dalam parameter berikut: args, , data1, dataformatOrMessage, dan cache. Jika nilai parameter adalah null, parameter bukan bagian dari peristiwa. Misalnya, jika args parameter adalah null, itu berarti bahwa peristiwa tidak memiliki argumen apa pun.
data Jika parameternya adalah null, maka ada satu atau tidak ada objek data. Jika ada satu objek data, objek tersebut akan ditemukan dalam data1 parameter . Alasan perbedaan antara objek data tunggal dan array objek data adalah untuk performa. Tidak ada alasan untuk membuat array objek jika hanya satu objek yang dilacak, seperti biasanya.
data Jika parameter tidak null, data1 parameter juga tidak boleh null.
Dijamin bahwa source parameter bukan null dan bukan string kosong ("").
Implementasi metode dapat secara opsional melemparkan pengecualian berikut:
ArgumentNullException jika
sourceadalahnull.ArgumentException jika
eventTypebukan salah TraceEventType satu nilai.Pengecualian yang tidak terkait dengan implementasi metode . Misalnya, .ThreadAbortException