Debug.WriteIf Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Записывает сведения об отладке в прослушиватели трассировки в Listeners коллекции, если условие.true
Перегрузки
| Имя | Описание |
|---|---|
| WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
Если |
| WriteIf(Boolean, Object) |
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие . |
| WriteIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно |
| WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
Записывает имя категории и сообщение прослушивателям трассировки в Listeners коллекции, если указано условие |
| WriteIf(Boolean, Object, String) |
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно |
| WriteIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие. |
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Если condition это trueтак, записывает имя категории и сообщение в прослушиватели трассировки в 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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие задано true, значение записывается в прослушиватели трассировки в коллекции.
Сообщение для записи, если condition есть true.
- Атрибуты
Комментарии
Эта перегрузка была введена в .NET 6 для повышения производительности. По сравнению с перегрузками, которые принимают String параметр, эта перегрузка оценивает только любые интерполированные элементы форматирования строк, если это сообщение необходимо.
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Используйте параметр для группировки category выходных сообщений.
Этот метод вызывает Write метод прослушивателя трассировки.
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Применяется к
WriteIf(Boolean, Object)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие .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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие задано true, значение записывается в прослушиватели трассировки в коллекции.
- Атрибуты
Примеры
В следующем примере создается именованный TraceSwitchgeneralSwitchобъект. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelError значение или выше, в примере выводится первое имя параметра Listenersзначения. Сведения о добавлении прослушивателя в Listeners коллекцию см. в TraceListenerCollection классе.
Затем, если TraceLevel задано Verboseзначение, в примере выводится сообщение в той же строке, что и первое сообщение. Терминатор строки следует второму сообщению.
// 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
Комментарии
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Этот метод вызывает Write метод прослушивателя трассировки.
Примечания для тех, кто наследует этот метод
Вы можете свести к минимуму производительность инструментирования приложения с помощью If...Then инструкций вместо инструкций using WriteIf(Boolean, String) . В следующих двух примерах кода отправляется одно и то же сообщение отладки. Однако первый пример гораздо быстрее выполняется при отключении трассировки, так как при mySwitch.TraceError оценке falseне вызывается Write(String). Второй пример всегда вызывается WriteIf(Boolean, String), даже если mySwitch.TraceError выходные false данные трассировки не создаются. Это может привести к ненужным выполнению произвольно сложного кода.
Первый пример:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Второй пример:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Применяется к
WriteIf(Boolean, String)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно 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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие задано true, сообщение записывается в прослушиватели трассировки в коллекции.
- message
- String
Сообщение для записи.
- Атрибуты
Примеры
В следующем примере создается именованный TraceSwitchgeneralSwitchобъект. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelError значение или выше, в примере выводится первое сообщение об ошибке Listeners. Сведения о добавлении прослушивателя в Listeners коллекцию см. в TraceListenerCollection классе.
Затем, если TraceLevel задано Verboseзначение, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. Терминатор строки следует второму сообщению.
// 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
Комментарии
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Этот метод вызывает Write метод прослушивателя трассировки.
Примечания для тех, кто наследует этот метод
Вы можете свести к минимуму производительность инструментирования приложения с помощью If...Then инструкций вместо инструкций using WriteIf(Boolean, String) . В следующих двух примерах кода отправляется одно и то же сообщение отладки. Однако первый пример гораздо быстрее выполняется при отключении трассировки, так как при mySwitch.TraceError оценке falseне вызывается Write(String). Второй пример всегда вызывается WriteIf(Boolean, String), даже если mySwitch.TraceError выходные false данные трассировки не создаются. Это может привести к ненужным выполнению произвольно сложного кода.
Первый пример:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Второй пример:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Применяется к
WriteIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Записывает имя категории и сообщение прослушивателям трассировки в Listeners коллекции, если указано условие 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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие задано true, сообщение записывается в прослушиватели трассировки в коллекции.
Сообщение для записи.
- category
- String
Имя категории, используемое для упорядочивания выходных данных.
- Атрибуты
Комментарии
Эта перегрузка была введена в .NET 6 для повышения производительности. По сравнению с перегрузками, которые принимают String параметр, эта перегрузка оценивает только любые интерполированные элементы форматирования строк, если это сообщение необходимо.
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Используйте параметр для группировки category выходных сообщений.
Этот метод вызывает Write метод прослушивателя трассировки.
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Применяется к
WriteIf(Boolean, Object, String)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно 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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие равно true, имя и значение категории записываются в прослушиватели трассировки в коллекции.
- category
- String
Имя категории, используемое для упорядочивания выходных данных.
- Атрибуты
Примеры
В следующем примере создается именованный TraceSwitchgeneralSwitchобъект. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelVerboseзначение, в примере выводится имя и myObject имя category объектаListeners. Сведения о добавлении прослушивателя в Listeners коллекцию см. в TraceListenerCollection классе.
Затем, если TraceLevel задано Error значение или выше, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. Терминатор строки следует второму сообщению.
// 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
Комментарии
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Параметр category можно использовать для группировки выходных сообщений.
Этот метод вызывает Write метод прослушивателя трассировки.
Примечания для тех, кто наследует этот метод
Вы можете свести к минимуму производительность инструментирования приложения с помощью If...Then инструкций вместо инструкций using WriteIf(Boolean, String) . В следующих двух примерах кода отправляется одно и то же сообщение отладки. Однако первый пример гораздо быстрее выполняется при отключении трассировки, так как при mySwitch.TraceError оценке falseне вызывается Write(String). Второй пример всегда вызывается WriteIf(Boolean, String), даже если mySwitch.TraceError выходные false данные трассировки не создаются. Это может привести к ненужным выполнению произвольно сложного кода.
Первый пример:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Второй пример:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
Применяется к
WriteIf(Boolean, String, String)
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
- Исходный код:
- Debug.cs
Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие.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)
Параметры
- condition
- Boolean
Условное выражение для вычисления. Если условие имеет значение true, имя категории и сообщение записываются в прослушиватели трассировки в коллекции.
- message
- String
Сообщение для записи.
- category
- String
Имя категории, используемое для упорядочивания выходных данных.
- Атрибуты
Примеры
В следующем примере создается именованный TraceSwitchgeneralSwitchобъект. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelVerboseзначение, в примере выводится первое сообщение об ошибке Listeners. Сведения о добавлении прослушивателя в Listeners коллекцию см. в TraceListenerCollection классе.
Затем, если TraceLevel задано Error значение или выше, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. Терминатор строки следует второму сообщению.
// 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
Комментарии
По умолчанию выходные данные записываются в экземпляр DefaultTraceListener.
Параметр category можно использовать для группировки выходных сообщений.
Этот метод вызывает TraceListener.Write метод прослушивателя трассировки.
Примечания для тех, кто наследует этот метод
Вы можете свести к минимуму производительность инструментирования приложения с помощью If...Then инструкций вместо инструкций using WriteIf(Boolean, String) . В следующих двух примерах кода отправляется одно и то же сообщение отладки. Однако первый пример гораздо быстрее выполняется при отключении трассировки, так как при mySwitch.TraceError оценке falseне вызывается Write(String). Второй пример всегда вызывается WriteIf(Boolean, String), даже если mySwitch.TraceError выходные false данные трассировки не создаются. Это может привести к ненужным выполнению произвольно сложного кода.
Первый пример:
if(mySwitch.TraceError)
Debug.Write("aNumber = " + aNumber + " out of range");
Второй пример:
Debug.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute