Debug.WriteLineIf 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
조건이 true
경우 디버그에 대한 정보를 Listeners 컬렉션의 추적 수신기에 씁니다.
오버로드
WriteLineIf(Boolean, Object, String) |
조건이 |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler) |
지정된 조건이 |
WriteLineIf(Boolean, Object) |
조건이 |
WriteLineIf(Boolean, String) |
조건이 |
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String) |
지정된 조건이 |
WriteLineIf(Boolean, String, String) |
조건이 |
WriteLineIf(Boolean, Object, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
조건이 true
경우 범주 이름과 개체의 ToString() 메서드 값을 Listeners 컬렉션의 추적 수신기에 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 범주 이름과 값은 컬렉션의 추적 수신기에 기록됩니다.
- category
- String
출력을 구성하는 데 사용되는 범주 이름입니다.
- 특성
예제
다음 예제에서는 이름이 generalSwitch
TraceSwitch 만듭니다. 이 스위치는 코드 샘플 외부에서 설정됩니다.
스위치가 TraceLevelError
이상으로 설정된 경우 예제에서는 첫 번째 오류 메시지를 Listeners출력합니다.
Listeners 컬렉션에 수신기를 추가하는 방법에 대한 자세한 내용은 TraceListenerCollection 클래스를 참조하세요.
그런 다음 TraceLevelVerbose
설정하면 첫 번째 메시지와 동일한 줄에 두 번째 오류 메시지가 출력됩니다. 줄 종결자는 두 번째 메시지를 따릅니다.
// 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
설명
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
category
매개 변수를 사용하여 출력 메시지를 그룹화할 수 있습니다.
이 메서드는 추적 수신기의 WriteLine 메서드를 호출합니다.
상속자 참고
WriteLineIf(Boolean, String) 문을 사용하는 대신 If...Then
문을 사용하여 애플리케이션 계측의 성능 저하를 최소화할 수 있습니다. 다음 두 코드 예제에서는 동일한 디버깅 메시지를 보냅니다. 그러나 추적이 해제된 경우 첫 번째 예제는 훨씬 빠릅니다. mySwitch.TraceError
false
평가되는 경우 WriteLine(String)호출하지 않기 때문입니다. 두 번째 예제에서는 mySwitch.TraceError
false
추적 출력이 생성되지 않는 경우에도 항상 WriteLineIf(Boolean, String)호출합니다. 이로 인해 임의로 복잡한 코드를 불필요하게 실행할 수 있습니다.
첫 번째 예제:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
두 번째 예제:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
지정된 조건이 true
경우 Listeners 컬렉션의 추적 수신기에 메시지를 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 메시지는 컬렉션의 추적 수신기에 기록됩니다.
쓸 메시지입니다.
- 특성
설명
이 오버로드는 성능을 향상시키기 위해 .NET 6에 도입되었습니다.
String
매개 변수를 사용하는 오버로드와 비교하여 이 오버로드는 메시지가 필요한 경우에만 보간된 문자열 서식 항목을 평가합니다.
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
이 메서드는 추적 수신기의 TraceListener.WriteLine 메서드를 호출합니다.
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
WriteLineIf(Boolean, Object)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
조건이 true
경우 개체의 ToString() 메서드 값을 Listeners 컬렉션의 추적 수신기에 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 값은 컬렉션의 추적 수신기에 기록됩니다.
- 특성
예제
다음 예제에서는 이름이 generalSwitch
TraceSwitch 만듭니다. 이 스위치는 코드 샘플 외부에서 설정됩니다.
스위치가 TraceLevelError
이상으로 설정된 경우 예제에서는 첫 번째 오류 메시지를 Listeners출력합니다.
Listeners 컬렉션에 수신기를 추가하는 방법에 대한 자세한 내용은 TraceListenerCollection 클래스를 참조하세요.
그런 다음 TraceLevelVerbose
설정하면 첫 번째 메시지와 동일한 줄에 개체의 이름을 출력합니다. 줄 종결자는 두 번째 메시지를 따릅니다.
// 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
설명
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
이 메서드는 추적 수신기의 WriteLine 메서드를 호출합니다.
상속자 참고
WriteLineIf(Boolean, String) 문을 사용하는 대신 If...Then
문을 사용하여 애플리케이션 계측의 성능 저하를 최소화할 수 있습니다. 다음 두 코드 예제에서는 동일한 디버깅 메시지를 보냅니다. 그러나 추적이 해제된 경우 첫 번째 예제는 훨씬 빠릅니다. mySwitch.TraceError
false
평가되는 경우 WriteLine(String)호출하지 않기 때문입니다. 두 번째 예제에서는 mySwitch.TraceError
false
추적 출력이 생성되지 않는 경우에도 항상 WriteLineIf(Boolean, String)호출합니다. 이로 인해 임의로 복잡한 코드를 불필요하게 실행할 수 있습니다.
첫 번째 예제:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
두 번째 예제:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
WriteLineIf(Boolean, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
조건이 true
경우 Listeners 컬렉션의 추적 수신기에 메시지를 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 메시지는 컬렉션의 추적 수신기에 기록됩니다.
- message
- String
쓸 메시지입니다.
- 특성
예제
다음 예제에서는 이름이 generalSwitch
TraceSwitch 만듭니다. 이 스위치는 코드 샘플 외부에서 설정됩니다.
스위치가 TraceLevelError
이상으로 설정된 경우 예제에서는 첫 번째 오류 메시지를 Listeners출력합니다.
Listeners 컬렉션에 수신기를 추가하는 방법에 대한 자세한 내용은 TraceListenerCollection 클래스를 참조하세요.
그런 다음 TraceLevelVerbose
설정하면 첫 번째 메시지와 동일한 줄에 두 번째 오류 메시지가 출력됩니다. 줄 종결자는 두 번째 메시지를 따릅니다.
// 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
설명
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
이 메서드는 추적 수신기의 TraceListener.WriteLine 메서드를 호출합니다.
상속자 참고
WriteLineIf(Boolean, String) 문을 사용하는 대신 If...Then
문을 사용하여 애플리케이션 계측의 성능 저하를 최소화할 수 있습니다. 다음 두 코드 예제에서는 동일한 디버깅 메시지를 보냅니다. 그러나 추적이 해제된 경우 첫 번째 예제는 훨씬 빠릅니다. mySwitch.TraceError
false
평가되는 경우 WriteLine(String)호출하지 않기 때문입니다. 두 번째 예제에서는 mySwitch.TraceError
false
추적 출력이 생성되지 않는 경우에도 항상 WriteLineIf(Boolean, String)호출합니다. 이로 인해 임의로 복잡한 코드를 불필요하게 실행할 수 있습니다.
첫 번째 예제:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
두 번째 예제:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
WriteLineIf(Boolean, Debug+WriteIfInterpolatedStringHandler, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
지정된 조건이 true
경우 범주 이름과 메시지를 Listeners 컬렉션의 추적 수신기에 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 메시지 및 범주 이름이 컬렉션의 추적 수신기에 기록됩니다.
쓸 메시지입니다.
- category
- String
출력을 구성하는 데 사용되는 범주 이름입니다.
- 특성
설명
이 오버로드는 성능을 향상시키기 위해 .NET 6에 도입되었습니다.
String
매개 변수를 사용하는 오버로드와 비교하여 이 오버로드는 메시지가 필요한 경우에만 보간된 문자열 서식 항목을 평가합니다.
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
category
매개 변수를 사용하여 출력 메시지를 그룹화할 수 있습니다.
이 메서드는 추적 수신기의 TraceListener.WriteLine 메서드를 호출합니다.
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
WriteLineIf(Boolean, String, String)
- Source:
- Debug.cs
- Source:
- Debug.cs
- Source:
- Debug.cs
조건이 true
경우 범주 이름과 메시지를 Listeners 컬렉션의 추적 수신기에 씁니다.
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)
매개 변수
- condition
- Boolean
평가할 조건식입니다. 조건이 true
경우 메시지 및 범주 이름은 컬렉션의 추적 수신기에 기록됩니다.
- message
- String
쓸 메시지입니다.
- category
- String
출력을 구성하는 데 사용되는 범주 이름입니다.
- 특성
예제
다음 예제에서는 이름이 generalSwitch
TraceSwitch 만듭니다. 이 스위치는 코드 샘플 외부에서 설정됩니다.
스위치가 TraceLevelError
이상으로 설정된 경우 예제에서는 첫 번째 오류 메시지를 Listeners출력합니다.
Listeners 컬렉션에 수신기를 추가하는 방법에 대한 자세한 내용은 TraceListenerCollection 클래스를 참조하세요.
그런 다음 TraceLevelVerbose
설정하면 두 번째 오류 메시지와 첫 번째 메시지와 같은 줄에 category
출력합니다. 줄 종결자는 두 번째 메시지를 따릅니다.
// 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
설명
기본적으로 출력은 DefaultTraceListener인스턴스에 기록됩니다.
category
매개 변수를 사용하여 출력 메시지를 그룹화할 수 있습니다.
이 메서드는 추적 수신기의 TraceListener.WriteLine 메서드를 호출합니다.
상속자 참고
WriteLineIf(Boolean, String) 문을 사용하는 대신 If...Then
문을 사용하여 애플리케이션 계측의 성능 저하를 최소화할 수 있습니다. 다음 두 코드 예제에서는 동일한 디버깅 메시지를 보냅니다. 그러나 추적이 해제된 경우 첫 번째 예제는 훨씬 빠릅니다. mySwitch.TraceError
false
평가되는 경우 WriteLine(String)호출하지 않기 때문입니다. 두 번째 예제에서는 mySwitch.TraceError
false
추적 출력이 생성되지 않는 경우에도 항상 WriteLineIf(Boolean, String)호출합니다. 이로 인해 임의로 복잡한 코드를 불필요하게 실행할 수 있습니다.
첫 번째 예제:
if(mySwitch.TraceError)
Debug.WriteLine("aNumber = " + aNumber + " out of range");
두 번째 예제:
Debug.WriteLineIf(mySwitch.TraceError, "aNumber = " + aNumber + " out of range");
추가 정보
- Debug
- Trace
- BooleanSwitch
- TraceSwitch
- TraceListener
- DefaultTraceListener
- ConsoleTraceListener
- ConditionalAttribute
적용 대상
.NET