TraceFilter.ShouldTrace Yöntem

Tanım

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, formatOrMessageve cache. Parametre değeri ise null, parametre olayın bir parçası değildir. Örneğin parametresi ise argsnull, 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:

Şunlara uygulanır