TraceFilter.ShouldTrace Metódus

Definíció

Ha egy származtatott osztályban felül van bírálva, meghatározza, hogy a nyomkövetési figyelőnek nyomon kell-e követnie az eseményt.

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

Paraméterek

cache
TraceEventCache

A TraceEventCache nyomkövetési esemény információi.

source
String

A forrás neve.

eventType
TraceEventType

TraceEventType A nyomkövetést okozó esemény típusát meghatározó értékek egyike.

id
Int32

Nyomkövetési azonosítószám.

formatOrMessage
String

Vagy a paraméter által args megadott argumentumtömb írásához használt formátum, vagy egy írandó üzenet.

args
Object[]

Argumentumobjektumok tömbje.

data1
Object

Nyomkövetési adatobjektum.

data
Object[]

Nyomkövetési adatobjektumok tömbje.

Válaszok

truea megadott esemény nyomon követése; egyéb esetben. false

Példák

Az alábbi példakód bemutatja, hogyan bírálhatja felül a ShouldTrace nyomkövetést jelző metódust, ha az esemény nyomkövetési eseménytípusa egyenlő 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

Megjegyzések az implementálókhoz

A metódus implementációinak vissza kell térnie true , ha az átadott paraméterek által megadott eseményt nyomon kell követni. Ellenkező esetben a metódusnak vissza kell térnie false. Például egy olyan szűrőnek, amely csak a hibaesemények továbbítását engedélyezi a figyelőnek, meg kell vizsgálnia a eventType paramétert, és vissza kell adnia true , ha a nyomkövetési eseménytípus értéke Error vagy nagyobb; ellenkező esetben a függvénynek vissza kell adnia falsea paramétert.

A módszer implementációit fel kell készíteni a következő paraméterek kezelésére null : args, data1, data, formatOrMessageés cache. Ha a paraméter értéke az null, a paraméter nem része az eseménynek. Ha például a args paraméter az null, az azt jelenti, hogy az eseménynek nincsenek argumentumai. Ha a data paraméter igen null, akkor egy vagy nincs adatobjektum. Ha van egy adatobjektum, az a paraméterben data1 található. Az egyetlen adatobjektum és az adatobjektumok tömbje közötti különbség oka a teljesítmény. Nincs ok objektumtömb létrehozására, ha csak egy objektum van nyomon követve, ahogyan az általában történik. Ha a data paraméter nem null, akkor a data1 paraméter nem lehet null.

Garantált, hogy a source paraméter nem null üres sztring ("").

A metódus implementációi opcionálisan a következő kivételeket okozhatják:

A következőre érvényes: