Trace.WriteIf Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Записывает сведения о трассировке в прослушиватели трассировки в коллекции Listeners, если условием является true
.
Перегрузки
WriteIf(Boolean, String, String) |
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие равно |
WriteIf(Boolean, Object, String) |
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteIf(Boolean, Object) |
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие — |
WriteIf(Boolean, String) |
Записывает сообщение в прослушиватели трассировки в коллекции Listeners, если задано условие |
WriteIf(Boolean, String, String)
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие равно true
.
public:
static void WriteIf(bool condition, System::String ^ message, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, string? message, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, string message, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * string * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String, category As String)
Параметры
- condition
- Boolean
Значение true
, если требуется запись сообщения. В противном случае — значение false
.
- message
- String
Записываемое сообщение.
- category
- String
Имя категории, используемое для систематизации выходных данных.
- Атрибуты
Примеры
В следующем примере создается объект с TraceSwitch именем generalSwitch
. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelVerbose
значение , в примере выводится первое сообщение об ошибке в Listeners. Сведения о добавлении прослушивателя в коллекцию Listeners см. в TraceListenerCollection классе .
Затем, если TraceLevel задано значение Error
или выше, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. За вторым сообщением следует признак конца строки.
// Class-level declaration.
// Create a TraceSwitch.
private:
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General", "Entire Application" );
public:
static void MyErrorMethod( Object^ myObject, String^ category )
{
#if defined(TRACE)
// Write the message if the TraceSwitch level is set to Verbose.
Trace::WriteIf( generalSwitch->TraceVerbose,
String::Concat( myObject,
" is not a valid object for category: " ), category );
// Write a second message if the TraceSwitch level is set
// to Error or higher.
Trace::WriteLineIf( generalSwitch->TraceError,
" Please use a different 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 Verbose.
Trace.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.
Trace.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.
Trace.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.
Trace.WriteLineIf(generalSwitch.TraceError, _
" Please use a different 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)
Trace.Write("aNumber = " + aNumber + " out of range");
Второй пример
Trace.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
Применяется к
WriteIf(Boolean, Object, String)
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если задано условие true
.
public:
static void WriteIf(bool condition, System::Object ^ value, System::String ^ category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object? value, string? category);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object value, string category);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * obj * string -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object, category As String)
Параметры
- condition
- Boolean
Значение true
, если требуется запись сообщения. В противном случае — значение false
.
- category
- String
Имя категории, используемое для систематизации выходных данных.
- Атрибуты
Примеры
В следующем примере создается объект с TraceSwitch именем generalSwitch
. Этот параметр задается за пределами примера кода.
Если параметр имеет значение TraceLevelVerbose
, в примере выводится имя myObject
и в category
Listeners. Сведения о добавлении прослушивателя в коллекцию Listeners см. в TraceListenerCollection классе .
Затем, если TraceLevel задано значение Error
или выше, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. За вторым сообщением следует признак конца строки.
// Class-level declaration.
// Create a TraceSwitch.
private:
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General", "Entire Application" );
public:
static void MyErrorMethod( Object^ myObject, String^ category )
{
#if defined(TRACE)
// Write the message if the TraceSwitch level is set to Verbose.
Trace::WriteIf( generalSwitch->TraceVerbose, myObject, category );
// Write a second message if the TraceSwitch level is set to
// Error or higher.
Trace::WriteLineIf( generalSwitch->TraceError,
" Object is not valid for this 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 Verbose.
Trace.WriteIf(generalSwitch.TraceVerbose, myObject, category);
// Write a second message if the TraceSwitch level is set to Error or higher.
Trace.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.
Trace.WriteIf(generalSwitch.TraceVerbose, myObject, category)
' Write a second message if the TraceSwitch level is set to Error or higher.
Trace.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)
Trace.Write("aNumber = " + aNumber + " out of range");
Второй пример
Trace.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
Применяется к
WriteIf(Boolean, Object)
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие — true
.
public:
static void WriteIf(bool condition, System::Object ^ value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object? value);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, object value);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * obj -> unit
Public Shared Sub WriteIf (condition As Boolean, value As Object)
Параметры
- condition
- Boolean
Значение true
, если требуется запись сообщения. В противном случае — значение false
.
- Атрибуты
Примеры
В следующем примере создается объект с TraceSwitch именем generalSwitch
. Этот параметр задается за пределами примера кода.
Если для параметра задано TraceLevelError
значение или выше, в примере выводится первое имя параметра значения в Listeners. Сведения о добавлении прослушивателя в коллекцию Listeners см. в TraceListenerCollection классе .
Затем, если TraceLevel для задано значение Verbose
, в примере выводится сообщение в той же строке, что и первое сообщение. За вторым сообщением следует признак конца строки.
// Class-level declaration.
// Create a TraceSwitch.
private:
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General", "Entire Application" );
public:
static void MyErrorMethod( Object^ myObject )
{
#if defined(TRACE)
// Write the message if the TraceSwitch level is set
// to Error or higher.
Trace::WriteIf( generalSwitch->TraceError, myObject );
// Write a second message if the TraceSwitch level is set
// to Verbose.
Trace::WriteLineIf( generalSwitch->TraceVerbose,
" is not a valid value for this method." );
#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.
Trace.WriteIf(generalSwitch.TraceError, myObject);
// Write a second message if the TraceSwitch level is set to Verbose.
Trace.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.
Trace.WriteIf(generalSwitch.TraceError, myObject)
' Write a second message if the TraceSwitch level is set to Verbose.
Trace.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)
Trace.Write("aNumber = " + aNumber + " out of range");
Второй пример
Trace.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
Применяется к
WriteIf(Boolean, String)
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
- Исходный код:
- Trace.cs
Записывает сообщение в прослушиватели трассировки в коллекции Listeners, если задано условие true
.
public:
static void WriteIf(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, string? message);
[System.Diagnostics.Conditional("TRACE")]
public static void WriteIf (bool condition, string message);
[<System.Diagnostics.Conditional("TRACE")>]
static member WriteIf : bool * string -> unit
Public Shared Sub WriteIf (condition As Boolean, message As String)
Параметры
- condition
- Boolean
Значение true
, если требуется запись сообщения. В противном случае — значение false
.
- message
- String
Записываемое сообщение.
- Атрибуты
Примеры
В следующем примере создается объект с TraceSwitch именем generalSwitch
. Этот параметр задается за пределами примера кода.
Если параметр имеет значение TraceLevelError
или выше, в примере выводится первое сообщение об ошибке в Listeners. Сведения о добавлении прослушивателя в коллекцию Listeners см. в TraceListenerCollection классе .
Затем, если TraceLevel для задано значение Verbose
, в примере выводится второе сообщение об ошибке в той же строке, что и первое сообщение. За вторым сообщением следует признак конца строки.
// Class-level declaration.
// Create a TraceSwitch.
private:
static TraceSwitch^ generalSwitch =
gcnew TraceSwitch( "General", "Entire Application" );
public:
static void MyErrorMethod()
{
#if defined(TRACE)
// Write the message if the TraceSwitch level is set to
// Error or higher.
Trace::WriteIf( generalSwitch->TraceError, "My error message. " );
// Write a second message if the TraceSwitch level is set
// to Verbose.
Trace::WriteLineIf( generalSwitch->TraceVerbose,
"My second error message." );
#endif
}
// Class-level declaration.
// Create a TraceSwitch.
static TraceSwitch generalSwitch = new TraceSwitch("General", "Entire Application");
static public void MyErrorMethod() {
// Write the message if the TraceSwitch level is set to Error or higher.
Trace.WriteIf(generalSwitch.TraceError, "My error message. ");
// Write a second message if the TraceSwitch level is set to Verbose.
Trace.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.
Trace.WriteIf(generalSwitch.TraceError, "My error message. ")
' Write a second message if the TraceSwitch level is set to Verbose.
Trace.WriteLineIf(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)
Trace.Write("aNumber = " + aNumber + " out of range");
Второй пример
Trace.WriteIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
См. также раздел
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по