Debug.WriteLineIf 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
WriteLineIf(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

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

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

WriteLineIf(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

WriteLineIf(Boolean, String)

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

WriteLineIf(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.

WriteLineIf(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.

WriteLineIf(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 WriteLineIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, object value, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, object? value, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * obj * string -> unit
Public Shared Sub WriteLineIf (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 magasabbra van állítva TraceLevelError , a példa az első hibaüzenetet adja ki 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 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.
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 Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "Invalid object for category. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, 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 Error or higher.
    Debug.WriteIf(generalSwitch.TraceError, "Invalid object for category. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject, 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 WriteLine 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...ThenWriteLineIf(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 WriteLine(String). A második példa mindig meghívja a hívásokat WriteLineIf(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.WriteLine("aNumber = " + aNumber + " out of range");

Második példa:

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

Lásd még

A következőre érvényes:

WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)

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

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

public:
 static void WriteLineIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * WriteIfInterpolatedStringHandler -> unit
Public Shared Sub WriteLineIf (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 üzenet a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
Debug.WriteIfInterpolatedStringHandler

Az írandó üzenet.

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: .

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

Lásd még

A következőre érvényes:

WriteLineIf(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 WriteLineIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, object value);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, object? value);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * obj -> unit
Public Shared Sub WriteLineIf (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 magasabbra van állítva TraceLevelError , a példa az első hibaüzenetet adja ki 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 az objektum nevét adja ki az első üzenettel megegyező sorban. 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, "Invalid object. ");

    // Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject);
}
' 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, "Invalid object. ")
    
    ' Write a second message if the TraceSwitch level is set to Verbose.
    Debug.WriteLineIf(generalSwitch.TraceVerbose, myObject)
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 WriteLine 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...ThenWriteLineIf(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 WriteLine(String). A második példa mindig meghívja a hívásokat WriteLineIf(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.WriteLine("aNumber = " + aNumber + " out of range");

Második példa:

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

Lásd még

A következőre érvényes:

WriteLineIf(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 WriteLineIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, string message);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, string? message);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * string -> unit
Public Shared Sub WriteLineIf (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

Az í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.WriteLineIf(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.WriteLineIf(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 TraceListener.WriteLine 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...ThenWriteLineIf(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 WriteLine(String). A második példa mindig meghívja a hívásokat WriteLineIf(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.WriteLine("aNumber = " + aNumber + " out of range");

Második példa:

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

Lásd még

A következőre érvényes:

WriteLineIf(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 WriteLineIf(bool condition, System::Diagnostics::Debug::WriteIfInterpolatedStringHandler % message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, ref System.Diagnostics.Debug.WriteIfInterpolatedStringHandler message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * WriteIfInterpolatedStringHandler * string -> unit
Public Shared Sub WriteLineIf (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 és a kategória neve 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 category paraméter használható a kimeneti üzenetek csoportosítására.

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

Lásd még

A következőre érvényes:

WriteLineIf(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 WriteLineIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, string message, string category);
[System.Diagnostics.Conditional("DEBUG")]
public static void WriteLineIf(bool condition, string? message, string? category);
[<System.Diagnostics.Conditional("DEBUG")>]
static member WriteLineIf : bool * string * string -> unit
Public Shared Sub WriteLineIf (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, az üzenet és a kategória neve a gyűjtemény nyomkövetési figyelőinek lesz megírva.

message
String

Az í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 magasabbra van állítva TraceLevelError , a példa az első hibaüzenetet adja ki 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 van állítva Verbose, a példa a második hibaüzenetet és az category 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(string category)
{
    // 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.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", category);
}
' Class-level declaration.
' Create a TraceSwitch.
Private Shared generalSwitch As New TraceSwitch("General", "Entire Application")


Public Shared Sub MyErrorMethod(category As String)
    ' 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.WriteLineIf(generalSwitch.TraceVerbose, "My second error message.", 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.WriteLine 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...ThenWriteLineIf(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 WriteLine(String). A második példa mindig meghívja a hívásokat WriteLineIf(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.WriteLine("aNumber = " + aNumber + " out of range");

Második példa:

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

Lásd még

A következőre érvényes: