TraceFilter.ShouldTrace Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
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:
ArgumentNullException if
sourceisnull.ArgumentException ha
eventTypenem tartozik az TraceEventType értékek közé.A metódus végrehajtásához nem kapcsolódó kivételek. Például egy ThreadAbortException.