Debug.WriteLineIf Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menulis informasi tentang debug ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true
.
Overload
WriteLineIf(Boolean, Object, String) |
Menulis nama kategori dan nilai metode objek ToString() ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Menulis pesan ke pendengar pelacakan dalam Listeners koleksi jika kondisi yang ditentukan adalah |
WriteLineIf(Boolean, Object) |
Menulis nilai metode objek ToString() ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, String) |
Menulis pesan ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisi yang ditentukan adalah |
WriteLineIf(Boolean, String, String) |
Menulis nama kategori dan pesan ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah |
WriteLineIf(Boolean, Object, String)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis nama kategori dan nilai metode objek ToString() ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, nama dan nilai kategori ditulis ke pendengar jejak dalam koleksi.
- category
- String
Nama kategori yang digunakan untuk mengatur output.
- Atribut
Contoh
Contoh berikut membuat bernama TraceSwitchgeneralSwitch
. Sakelar ini diatur di luar sampel kode.
Jika sakelar diatur ke TraceLevelError
atau lebih tinggi, contoh menghasilkan pesan kesalahan pertama ke Listeners. Untuk informasi tentang menambahkan pendengar ke Listeners koleksi, lihat TraceListenerCollection kelas .
Kemudian, jika TraceLevel diatur ke Verbose
, contoh menghasilkan pesan kesalahan kedua pada baris yang sama dengan pesan pertama. Terminator baris mengikuti pesan kedua.
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( Object^ myObject, String^ category )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
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 );
#endif
}
// 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
Keterangan
Secara default, output ditulis ke instans DefaultTraceListener.
Parameter category
dapat digunakan untuk mengelompokkan pesan output.
Metode ini memanggil WriteLine metode pendengar jejak.
Catatan Bagi Inheritor
Anda dapat meminimalkan hukuman performa instrumentasi aplikasi Anda dengan menggunakan If...Then
pernyataan alih-alih menggunakan WriteLineIf(Boolean, String) pernyataan. Dua contoh kode berikut mengirim pesan penelusuran kesalahan yang sama. Namun, contoh pertama jauh lebih cepat saat pelacakan nonaktif, karena jika mySwitch.TraceError
mengevaluasi ke false
, Anda tidak memanggil WriteLine(String). Contoh kedua selalu memanggil WriteLineIf(Boolean, String), bahkan ketika mySwitch.TraceError
adalah false
dan tidak ada output pelacakan yang diproduksi. Ini dapat mengakibatkan eksekusi kode kompleks yang tidak perlu.
Contoh pertama:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Contoh kedua:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis pesan ke pendengar pelacakan dalam Listeners koleksi jika kondisi yang ditentukan adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, pesan ditulis ke pendengar jejak dalam koleksi.
Pesan untuk ditulis.
- Atribut
Keterangan
Kelebihan beban ini diperkenalkan di .NET 6 untuk meningkatkan performa. Dibandingkan dengan kelebihan beban yang mengambil String
parameter, kelebihan beban ini hanya mengevaluasi item pemformatan string terinterpolasi jika pesan diperlukan.
Secara default, output ditulis ke instans DefaultTraceListener.
Metode ini memanggil TraceListener.WriteLine metode pendengar jejak.
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
WriteLineIf(Boolean, Object)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis nilai metode objek ToString() ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, nilai ditulis ke pendengar jejak dalam koleksi.
- Atribut
Contoh
Contoh berikut membuat bernama TraceSwitchgeneralSwitch
. Sakelar ini diatur di luar sampel kode.
Jika sakelar diatur ke TraceLevelError
atau lebih tinggi, contoh menghasilkan pesan kesalahan pertama ke Listeners. Untuk informasi tentang menambahkan pendengar ke Listeners koleksi, lihat TraceListenerCollection kelas .
Kemudian, jika TraceLevel diatur ke Verbose
, contoh menghasilkan nama objek pada baris yang sama dengan pesan pertama. Terminator baris mengikuti pesan kedua.
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( Object^ myObject )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
Debug::WriteIf( generalSwitch->TraceError, "Invalid object. " );
// Write a second message if the TraceSwitch level is set to Verbose.
Debug::WriteLineIf( generalSwitch->TraceVerbose, myObject );
#endif
}
// 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
Keterangan
Secara default, output ditulis ke instans DefaultTraceListener.
Metode ini memanggil WriteLine metode pendengar jejak.
Catatan Bagi Inheritor
Anda dapat meminimalkan hukuman performa instrumentasi aplikasi Anda dengan menggunakan If...Then
pernyataan alih-alih menggunakan WriteLineIf(Boolean, String) pernyataan. Dua contoh kode berikut mengirim pesan penelusuran kesalahan yang sama. Namun, contoh pertama jauh lebih cepat saat pelacakan nonaktif, karena jika mySwitch.TraceError
mengevaluasi ke false
, Anda tidak memanggil WriteLine(String). Contoh kedua selalu memanggil WriteLineIf(Boolean, String), bahkan ketika mySwitch.TraceError
adalah false
dan tidak ada output pelacakan yang diproduksi. Ini dapat mengakibatkan eksekusi kode kompleks yang tidak perlu.
Contoh pertama:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Contoh kedua:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
WriteLineIf(Boolean, String)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis pesan ke pendengar pelacakan dalam Listeners koleksi jika kondisinya adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, pesan ditulis ke pendengar jejak dalam koleksi.
- message
- String
Pesan untuk ditulis.
- Atribut
Contoh
Contoh berikut membuat bernama TraceSwitchgeneralSwitch
. Sakelar ini diatur di luar sampel kode.
Jika sakelar diatur ke TraceLevelError
atau lebih tinggi, contoh menghasilkan pesan kesalahan pertama ke Listeners. Untuk informasi tentang menambahkan pendengar ke Listeners koleksi, lihat TraceListenerCollection kelas .
Kemudian, jika TraceLevel diatur ke Verbose
, contoh menghasilkan pesan kesalahan kedua pada baris yang sama dengan pesan pertama. Terminator baris mengikuti pesan kedua.
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod()
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
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." );
#endif
}
// 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
Keterangan
Secara default, output ditulis ke instans DefaultTraceListener.
Metode ini memanggil TraceListener.WriteLine metode pendengar jejak.
Catatan Bagi Inheritor
Anda dapat meminimalkan hukuman performa instrumentasi aplikasi Anda dengan menggunakan If...Then
pernyataan alih-alih menggunakan WriteLineIf(Boolean, String) pernyataan. Dua contoh kode berikut mengirim pesan penelusuran kesalahan yang sama. Namun, contoh pertama jauh lebih cepat saat pelacakan nonaktif, karena jika mySwitch.TraceError
mengevaluasi ke false
, Anda tidak memanggil WriteLine(String). Contoh kedua selalu memanggil WriteLineIf(Boolean, String), bahkan ketika mySwitch.TraceError
adalah false
dan tidak ada output pelacakan yang diproduksi. Ini dapat mengakibatkan eksekusi kode kompleks yang tidak perlu.
Contoh pertama:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Contoh kedua:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisi yang ditentukan adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, pesan dan nama kategori ditulis ke pendengar jejak dalam koleksi.
Pesan untuk ditulis.
- category
- String
Nama kategori yang digunakan untuk mengatur output.
- Atribut
Keterangan
Kelebihan beban ini diperkenalkan di .NET 6 untuk meningkatkan performa. Dibandingkan dengan kelebihan beban yang mengambil String
parameter, kelebihan beban ini hanya mengevaluasi item pemformatan string terinterpolasi jika pesan diperlukan.
Secara default, output ditulis ke instans DefaultTraceListener.
Parameter category
dapat digunakan untuk mengelompokkan pesan output.
Metode ini memanggil TraceListener.WriteLine metode pendengar jejak.
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
WriteLineIf(Boolean, String, String)
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
- Sumber:
- Debug.cs
Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah 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)
Parameter
- condition
- Boolean
Ekspresi kondisional untuk dievaluasi. Jika kondisinya adalah true
, pesan dan nama kateogry ditulis ke pendengar jejak dalam koleksi.
- message
- String
Pesan untuk ditulis.
- category
- String
Nama kategori yang digunakan untuk mengatur output.
- Atribut
Contoh
Contoh berikut membuat bernama TraceSwitchgeneralSwitch
. Sakelar ini diatur di luar sampel kode.
Jika sakelar diatur ke TraceLevelError
atau lebih tinggi, contoh menghasilkan pesan kesalahan pertama ke Listeners. Untuk informasi tentang menambahkan pendengar ke Listeners koleksi, lihat TraceListenerCollection kelas .
Kemudian, jika TraceLevel diatur ke Verbose
, contoh menghasilkan pesan kesalahan kedua dan category
pada baris yang sama dengan pesan pertama. Terminator baris mengikuti pesan kedua.
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General","Entire Application" );
public:
static void MyErrorMethod( String^ category )
{
// Write the message if the TraceSwitch level is set to Error or higher.
#if defined(DEBUG)
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 );
#endif
}
// 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
Keterangan
Secara default, output ditulis ke instans DefaultTraceListener.
Parameter category
dapat digunakan untuk mengelompokkan pesan output.
Metode ini memanggil TraceListener.WriteLine metode pendengar pelacakan.
Catatan Bagi Inheritor
Anda dapat meminimalkan hukuman performa instrumentasi aplikasi Anda dengan menggunakan If...Then
pernyataan alih-alih menggunakan WriteLineIf(Boolean, String) pernyataan. Dua contoh kode berikut mengirim pesan penelusuran kesalahan yang sama. Namun, contoh pertama jauh lebih cepat saat pelacakan nonaktif, karena jika mySwitch.TraceError
mengevaluasi ke false
, Anda tidak memanggil WriteLine(String). Contoh kedua selalu memanggil WriteLineIf(Boolean, String), bahkan ketika mySwitch.TraceError
adalah false
dan tidak ada output pelacakan yang diproduksi. Ini dapat mengakibatkan eksekusi kode kompleks yang tidak perlu.
Contoh pertama:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
Contoh kedua:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
Lihat juga
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk