TraceFilter.ShouldTrace Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Při přepsání v odvozené třídě určuje, zda by měl trasovací naslouchací proces trasovat událost.
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
Parametry
- cache
- TraceEventCache
Obsahuje TraceEventCache informace o události trasování.
- source
- String
Název zdroje.
- eventType
- TraceEventType
Jedna z TraceEventType hodnot určující typ události, která způsobila trasování.
- id
- Int32
Číslo identifikátoru trasování.
- formatOrMessage
- String
Buď formát, který se má použít pro zápis pole argumentů určené parametrem args
, nebo zpráva k zápisu.
- args
- Object[]
Pole argumentových objektů.
- data1
- Object
Datový objekt trasování.
- data
- Object[]
Pole datových objektů trasování.
Návraty
true
trasování zadané události; v opačném případě . false
Příklady
Následující příklad kódu ukazuje, jak přepsat metodu ShouldTrace , která označuje, že by mělo dojít k trasování, když je typ události trasování události rovna 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
Poznámky pro implementátory
Implementace této metody by měly vrátit true
, pokud událost určená předanými parametry by měla být trasována. V opačném případě by metoda měla vrátit false
. Například filtr, který umožňuje předávání pouze chybových událostí do naslouchacího procesu, by měl zkontrolovat eventType
parametr a vrátit true
, pokud je úroveň typu události trasování nastavená na Error hodnotu nebo vyšší. V opačném případě by měl vrátit false
hodnotu .
Implementace metody by měly být připravené pro zpracování null
v následujících parametrech: args
, data1
, data
, formatOrMessage
a cache
. Pokud je null
hodnota parametru , parametr není součástí události. Pokud args
je null
například parametr , znamená to, že událost nemá žádné argumenty. data
Pokud je null
parametr , existuje jeden nebo žádný datový objekt. Pokud existuje jeden datový objekt, najdete ho v parametru data1
. Důvodem rozdílu mezi jedním datovým objektem a polem datových objektů je výkon. Není důvod vytvářet pole objektů, pokud je trasován pouze jeden objekt, jak je to obvykle. Pokud parametr data
není null
, data1
nesmí být null
parametr také .
Je zaručeno, že source
parametr není null
prázdný řetězec ("").
Implementace metody mohou volitelně vyvolat následující výjimky:
ArgumentNullException pokud
source
jenull
.ArgumentException pokud
eventType
není jednou z TraceEventType hodnot.Výjimky nesouvisející s implementací metody. Například .ThreadAbortException