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
, data
formatOrMessage
, 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
source
adalahnull
.ArgumentException jika
eventType
bukan salah TraceEventType satu nilai.Pengecualian yang tidak terkait dengan implementasi metode . Misalnya, .ThreadAbortException