TraceFilter.ShouldTrace Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta geçersiz kılındığında, izleme dinleyicisinin olayı izlemesi gerekip gerekmediğini belirler.
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
Parametreler
- cache
- TraceEventCache
TraceEventCache İzleme olayına ilişkin bilgileri içeren.
- source
- String
Kaynağın adı.
- eventType
- TraceEventType
İzlemeye TraceEventType neden olan olay türünü belirten değerlerden biri.
- id
- Int32
İzleme tanımlayıcısı numarası.
- formatOrMessage
- String
parametresi tarafından args
belirtilen bir bağımsız değişken dizisi yazmak için kullanılacak biçim veya yazacak bir ileti.
- args
- Object[]
Bağımsız değişken nesneleri dizisi.
- data1
- Object
Bir izleme veri nesnesi.
- data
- Object[]
İzleme veri nesneleri dizisi.
Döndürülenler
true
belirtilen olayı izlemek için; aksi takdirde , false
.
Örnekler
Aşağıdaki kod örneği, olayın izleme olay türü değerine eşit olduğunda izlemenin gerçekleşmesi gerektiğini belirtmek için yönteminin nasıl geçersiz kılınması ShouldTraceTraceEventType.Errorgerektiğini gösterir.
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
Uygulayanlara Notlar
Geçirilen parametreler tarafından belirtilen olayın izlenmesi gerekiyorsa bu yöntemin uygulamaları döndürülmelidir true
. Aksi takdirde yöntemi döndürmelidir false
. Örneğin, yalnızca hata olaylarının dinleyiciye geçmesine izin veren bir filtre parametreyi eventType
incelemeli ve izleme olay türü düzeyi veya daha büyükse Error döndürmelidirtrue
; aksi takdirde döndürmelidirfalse
.
yönteminin uygulamaları şu parametrelerde işlenecek null
şekilde hazırlanmalıdır: args
, data1
, data
, formatOrMessage
ve cache
. Parametre değeri ise null
, parametre olayın bir parçası değildir. Örneğin parametresi ise args
null
, olayın herhangi bir bağımsız değişkeni olmadığı anlamına gelir. data
parametresi isenull
, bir veri nesnesi vardır veya hiç veri nesnesi yoktur. Bir veri nesnesi varsa, parametresinde data1
bulunur. Tek bir veri nesnesi ile veri nesneleri dizisi arasındaki ayrımın nedeni performanstır. Normalde olduğu gibi yalnızca bir nesne izlendiğinde nesne dizisi oluşturmak için bir neden yoktur. data
parametresi değilsenull
, data1
parametresi de olmamalıdırnull
.
Parametresinin source
boş bir dize ("") olmaması null
ve olmaması garanti edilir.
yönteminin uygulamaları isteğe bağlı olarak aşağıdaki özel durumları oluşturabilir:
ArgumentNullException ise
source
null
.ArgumentExceptiondeğerlerden biri TraceEventType değilse
eventType
.yönteminin uygulanmasıyla ilgili olmayan özel durumlar. Örneğin, bir ThreadAbortException.