Debug.WriteIf Metódus

Definíció

Adatokat ír a hibakeresésről a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel fennáll true.

Túlterhelések

Name Description
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Ha condition igen true, kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners .

WriteIf(Boolean, Object)

Az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel .true

WriteIf(Boolean, String)

Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy adott feltétel teljesül true.

WriteIf(Boolean, Object, String)

Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel .true

WriteIf(Boolean, String, String)

Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy feltétel teljesül true.

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Ha condition igen true, kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners .

public:
 static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, az érték a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
Debug.WriteIfInterpolatedStringHandler

Az írandó üzenet, ha condition az .true

Attribútumok

Megjegyzések

Ezt a túlterhelést a 6. .NET vezették be a teljesítmény javítása érdekében. A paramétert használó String túlterhelésekhez képest ez a túlterhelés csak akkor értékeli ki az interpolált sztringformázási elemeket, ha az üzenetre szükség van.

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

A paraméter használatával category csoportosíthatja a kimeneti üzeneteket.

Ez a metódus meghívja a Write nyomkövetési figyelő metódusát.

Lásd még

A következőre érvényes:

WriteIf(Boolean, Object)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel .true

public:
 static void WriteIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, object value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, object? value);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * obj -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, az érték a gyűjtemény nyomkövetési figyelőinek lesz megírva.

value
Object

Egy objektum, amelynek a nevét a rendszer elküldi a Listeners.

Attribútumok

Példák

Az alábbi példa létrehoz egy TraceSwitch elnevezettet generalSwitch. Ez a kapcsoló a kódmintán kívül van beállítva.

Ha a kapcsoló a TraceLevelError magasabbra van állítva, a példa az értékparaméter utónevét adja meg a Listeners. A figyelő gyűjteményhez való Listeners hozzáadásáról további információt az TraceListenerCollection osztályban talál.

Ezután, ha a TraceLevel beállítás Verboseértéke, a példa egy üzenetet ad ki ugyanazon a sorban, mint az első üzenet. A sor terminátora a második üzenetet követi.

// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

static public void MyErrorMethod(Object myObject)
{
    // Write the message if the TraceSwitch level is set to Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, myObject);

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, " is not a valid value for this method.");
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod(myObject As Object)
    ' Write the message if the TraceSwitch level is set to Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, myObject)
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, " is not a valid value for this method.")
End Sub

Megjegyzések

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

Ez a metódus meghívja a Write nyomkövetési figyelő metódusát.

Megjegyzések az öröklőkhöz

Az alkalmazás rendszerezésének teljesítménybeli büntetését az utasítások használata helyett utasítások használatával If...ThenWriteIf(Boolean, String) minimalizálhatja. Az alábbi két példakód ugyanazt a hibakeresési üzenetet küldi el. Az első példa azonban sokkal gyorsabb, ha a nyomkövetés ki van kapcsolva, mert ha mySwitch.TraceError kiértékeli false, akkor nem hívhatja meg Write(String). A második példa mindig meghívja a hívásokat WriteIf(Boolean, String), még akkor is, ha mySwitch.TraceError van false , és nem jön létre nyomkövetési kimenet. Ez tetszőlegesen összetett kód szükségtelen végrehajtását eredményezheti.

Első példa:

if(mySwitch.TraceError)
    Debug.Write("aNumber = " + aNumber + " out of range");

Második példa:

Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

Lásd még

A következőre érvényes:

WriteIf(Boolean, String)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Ha feltétel van, üzenetet ír a gyűjtemény nyomkövetési Listeners figyelőinek true.

public:
 static void WriteIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, az üzenet a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
String

Egy írandó üzenet.

Attribútumok

Példák

Az alábbi példa létrehoz egy TraceSwitch elnevezettet generalSwitch. Ez a kapcsoló a kódmintán kívül van beállítva.

Ha a kapcsoló a magasabbra van állítva TraceLevelError , a példa az első hibaüzenetet adja ki a Listeners. A figyelő gyűjteményhez való hozzáadásáról további információt az ListenersTraceListenerCollection osztályban talál.

Ezután, ha a TraceLevel be van állítva Verbose, a példa a második hibaüzenetet az első üzenettel megegyező sorban adja ki. A sor terminátora a második üzenetet követi.

// Class-level declaration.
// Create a TraceSwitch.
TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

static void MyErrorMethod()
{
    // Write the message if the TraceSwitch level is set to Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "My error message. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, "My second error message.");
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod()
    ' Write the message if the TraceSwitch level is set to Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "My error message. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, "My second error message.")
End Sub

Megjegyzések

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

Ez a metódus meghívja a Write nyomkövetési figyelő metódusát.

Megjegyzések az öröklőkhöz

Az alkalmazás rendszerezésének teljesítménybeli büntetését az utasítások használata helyett utasítások használatával If...ThenWriteIf(Boolean, String) minimalizálhatja. Az alábbi két példakód ugyanazt a hibakeresési üzenetet küldi el. Az első példa azonban sokkal gyorsabb, ha a nyomkövetés ki van kapcsolva, mert ha mySwitch.TraceError kiértékeli false, akkor nem hívhatja meg Write(String). A második példa mindig meghívja a hívásokat WriteIf(Boolean, String), még akkor is, ha mySwitch.TraceError van false , és nem jön létre nyomkövetési kimenet. Ez tetszőlegesen összetett kód szükségtelen végrehajtását eredményezheti.

Első példa:

if(mySwitch.TraceError)
    Debug.Write("aNumber = " + aNumber + " out of range");

Második példa:

Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

Lásd még

A következőre érvényes:

WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy adott feltétel teljesül true.

public:
 static void WriteIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteIf (condition As Boolean, ByRef message As Debug.WriteIfInterpolatedStringHandler, category As String)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, az üzenet a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
Debug.WriteIfInterpolatedStringHandler

Az írandó üzenet.

category
String

A kimenet rendszerezéséhez használt kategórianév.

Attribútumok

Megjegyzések

Ezt a túlterhelést a 6. .NET vezették be a teljesítmény javítása érdekében. A paramétert használó String túlterhelésekhez képest ez a túlterhelés csak akkor értékeli ki az interpolált sztringformázási elemeket, ha az üzenetre szükség van.

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

A paraméter használatával category csoportosíthatja a kimeneti üzeneteket.

Ez a metódus meghívja a Write nyomkövetési figyelő metódusát.

Lásd még

A következőre érvényes:

WriteIf(Boolean, Object, String)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Kategórianevet és az objektum ToString() metódusának értékét írja a gyűjtemény nyomkövetési Listeners figyelőinek, ha egy feltétel .true

public:
 static void WriteIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, object value, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, object? value, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * obj * string -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object, category As String)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, a kategória neve és értéke a gyűjtemény nyomkövetési figyelőinek lesz megírva.

value
Object

Egy objektum, amelynek a nevét a rendszer elküldi a Listeners.

category
String

A kimenet rendszerezéséhez használt kategórianév.

Attribútumok

Példák

Az alábbi példa létrehoz egy TraceSwitch elnevezettet generalSwitch. Ez a kapcsoló a kódmintán kívül van beállítva.

Ha a kapcsoló a TraceLevelVerbosekövetkezőre van állítva, a példa a név és myObject a category következő lesz Listeners. A figyelő gyűjteményhez való Listeners hozzáadásáról további információt az TraceListenerCollection osztályban talál.

Ezután, ha a TraceLevel beállítás Error értéke vagy magasabb, a példa a második hibaüzenetet az első üzenettel megegyező sorban adja ki. A sor terminátora a második üzenetet követi.

// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

static public void MyErrorMethod(Object myObject, string category)
{
    // Write the message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, myObject, category);

    // Write a second message if the TraceSwitch level is set to Error or higher.
    Debug.WriteLineIf(generalSwitch.TraceError, " Object is not valid for this category.");
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod(myObject As Object, category As String)
    ' Write the message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, myObject, category)
    
    ' Write a second message if the TraceSwitch level is set to Error or higher.
    Debug.WriteLineIf(generalSwitch.TraceError, " Object is not valid for this category.")
End Sub

Megjegyzések

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

A category paraméter használható a kimeneti üzenetek csoportosítására.

Ez a metódus meghívja a Write nyomkövetési figyelő metódusát.

Megjegyzések az öröklőkhöz

Az alkalmazás rendszerezésének teljesítménybeli büntetését az utasítások használata helyett utasítások használatával If...ThenWriteIf(Boolean, String) minimalizálhatja. Az alábbi két példakód ugyanazt a hibakeresési üzenetet küldi el. Az első példa azonban sokkal gyorsabb, ha a nyomkövetés ki van kapcsolva, mert ha mySwitch.TraceError kiértékeli false, akkor nem hívhatja meg Write(String). A második példa mindig meghívja a hívásokat WriteIf(Boolean, String), még akkor is, ha mySwitch.TraceError van false , és nem jön létre nyomkövetési kimenet. Ez tetszőlegesen összetett kód szükségtelen végrehajtását eredményezheti.

Első példa:

if(mySwitch.TraceError)
    Debug.Write("aNumber = " + aNumber + " out of range");

Második példa:

Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

Lásd még

A következőre érvényes:

WriteIf(Boolean, String, String)

Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs
Forrás:
Debug.cs

Kategórianevet és üzenetet ír a gyűjtemény nyomkövetési figyelőinek Listeners , ha egy feltétel teljesül true.

public:
 static void WriteIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, string message, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteIf(bool condition, string? message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteIf : bool * string * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String, category As String)

Paraméterek

condition
Boolean

A kiértékelendő feltételes kifejezés. Ha a feltétel az true, a kategória neve és üzenete a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
String

Egy írandó üzenet.

category
String

A kimenet rendszerezéséhez használt kategórianév.

Attribútumok

Példák

Az alábbi példa létrehoz egy TraceSwitch elnevezettet generalSwitch. Ez a kapcsoló a kódmintán kívül van beállítva.

Ha a kapcsoló a TraceLevelVerbosekövetkezőre van állítva, a példa az első hibaüzenetet adja ki a Listenerskövetkezőnek: . A figyelő gyűjteményhez való Listeners hozzáadásáról további információt az TraceListenerCollection osztályban talál.

Ezután, ha a TraceLevel beállítás Error értéke vagy magasabb, a példa a második hibaüzenetet az első üzenettel megegyező sorban adja ki. A sor terminátora a második üzenetet követi.

// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");

static public void MyErrorMethod(Object myObject, string category)
{
    // Write the message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, myObject.ToString() +
       " is not a valid object for category: ", category);

    // Write a second message if the TraceSwitch level is set to Error or higher.
    Debug.WriteLineIf(generalSwitch.TraceError, " Please use a different category.");
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod(myObject As Object, category As String)
    ' Write the message if the TraceSwitch level is set to Verbose.
    Debug.WriteIf(generalSwitch.TraceVerbose, myObject.ToString() & _
        " is not a valid object for category: ", category)
    
    ' Write a second message if the TraceSwitch level is set to Error or higher.
    Debug.WriteLineIf(generalSwitch.TraceError, " Please use a different category.")
End Sub

Megjegyzések

Alapértelmezés szerint a kimenet a következő példányra DefaultTraceListenerlesz megírva: .

A category paraméter használható a kimeneti üzenetek csoportosítására.

Ez a metódus meghívja a TraceListener.Write nyomkövetési figyelő metódusát.

Megjegyzések az öröklőkhöz

Az alkalmazás rendszerezésének teljesítménybeli büntetését az utasítások használata helyett utasítások használatával If...ThenWriteIf(Boolean, String) minimalizálhatja. Az alábbi két példakód ugyanazt a hibakeresési üzenetet küldi el. Az első példa azonban sokkal gyorsabb, ha a nyomkövetés ki van kapcsolva, mert ha mySwitch.TraceError kiértékeli false, akkor nem hívhatja meg Write(String). A második példa mindig meghívja a hívásokat WriteIf(Boolean, String), még akkor is, ha mySwitch.TraceError van false , és nem jön létre nyomkövetési kimenet. Ez tetszőlegesen összetett kód szükségtelen végrehajtását eredményezheti.

Első példa:

if(mySwitch.TraceError)
    Debug.Write("aNumber = " + aNumber + " out of range");

Második példa:

Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");

Lásd még

A következőre érvényes: