Trace.Assert 方法

定义

检查条件 ;如果条件为 false,则输出消息,并显示一个消息框,其中显示调用堆栈。

重载

Assert(Boolean)

检查条件 ;如果条件为 false,则显示一个消息框,其中显示调用堆栈。

Assert(Boolean, String)

检查条件;如果条件为 false,则输出指定消息并显示指示调用堆栈的消息框。

Assert(Boolean, String, String)

检查条件 ;如果条件为 false,则输出两条指定消息,并显示一个消息框,其中显示调用堆栈。

Assert(Boolean)

检查条件 ;如果条件为 false,则显示一个消息框,其中显示调用堆栈。

public:
 static void Assert(bool condition);
[System.Diagnostics.Conditional("TRACE")]
public static void Assert (bool condition);
[<System.Diagnostics.Conditional("TRACE")>]
static member Assert : bool -> unit
Public Shared Sub Assert (condition As Boolean)

参数

condition
Boolean

要计算的条件表达式。 如果条件为 true,则不会发送失败消息,也不显示消息框。

属性

示例

以下示例为数组创建索引。 然后执行一些操作来设置索引的值。 接下来,代码调用 Assert 以验证索引值是否有效。 如果无效,则 Assert 输出调用堆栈。

protected:
   // Create an index for an array.
   int index;

   void Method()
   {
      // Perform some action that sets the index.
      // Test that the index value is valid.
      #if defined(TRACE)
      Trace::Assert( index > -1 );
      #endif
   }
// Create an index for an array.
int index;

void Method()
{
    // Perform some action that sets the index.

    // Test that the index value is valid.
    Trace.Assert(index > -1);
}
' Create an index for an array.
Protected index As Integer    

Protected Sub Method()
    ' Perform some action that sets the index.
    ' Test that the index value is valid. 
    Trace.Assert(index > -1)
End Sub

注解

Trace.Assert如果要在发布版本中执行断言,请使用该方法。 该方法 Debug.Assert 仅在调试版本中有效。 有关详细信息,请参阅托管代码中的断言

通常, Assert(Boolean) 该方法用于在程序开发期间识别逻辑错误。 Assert(Boolean) 计算条件。 如果结果为 false,它将失败消息发送到 Listeners 集合。 可以通过向集合添加或从集合中删除一个TraceListenerListeners对象来自定义此行为。

应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止重试忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。

备注

消息框的显示取决于是否存在 DefaultTraceListenerDefaultTraceListener如果集合中Listeners不存在,则不显示消息框。 DefaultTraceListener可以通过对属性 () System.Diagnostics.Trace.Listeners.Clear() 调用Clear方法Listeners来删除该方法。 对于.NET Framework应用,还可以使用<clear>应用的配置文件中的元素和<remove>元素

对于.NET Framework应用,可以更改与应用程序名称相对应的配置文件中的行为DefaultTraceListener。 在此文件中,可以启用或禁用断言消息框或设置 DefaultTraceListener.LogFileName 属性。 配置文件的格式应如下所示:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="4"/>  
    </switches>  
    <trace autoflush="false" indentsize="4"/>  
    <assert assertuienabled="true" logfilename=".\TraceLog.txt"/>  
  </system.diagnostics>  
</configuration>  

另请参阅

适用于

Assert(Boolean, String)

检查条件;如果条件为 false,则输出指定消息并显示指示调用堆栈的消息框。

public:
 static void Assert(bool condition, System::String ^ message);
[System.Diagnostics.Conditional("TRACE")]
public static void Assert (bool condition, string? message);
[System.Diagnostics.Conditional("TRACE")]
public static void Assert (bool condition, string message);
[<System.Diagnostics.Conditional("TRACE")>]
static member Assert : bool * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String)

参数

condition
Boolean

要计算的条件表达式。 如果条件为 true,则不会发送指定消息,也不显示消息框。

message
String

要发送到 Listeners 集合的消息。

属性

示例

以下示例检查参数 type 是否有效。 如果传入是type``null,则Assert输出消息。

public:
   static void MyMethod( Type^ type, Type^ baseType )
   {
     #if defined(TRACE)
     Trace::Assert( type != nullptr, "Type parameter is null" );
     #endif
      
      // Perform some processing.
   }
public static void MyMethod(Type type, Type baseType)
{
    Trace.Assert(type != null, "Type parameter is null");

    // Perform some processing.
}
Public Shared Sub MyMethod(type As Type, baseType As Type)
    Trace.Assert( Not (type Is Nothing), "Type parameter is null")

    ' Perform some processing.
End Sub

注解

Trace.Assert如果要在发布版本中执行断言,请使用该方法。 该方法 Debug.Assert 仅在调试版本中有效。 有关详细信息,请参阅托管代码中的断言

通常, Assert(Boolean, String) 该方法用于在程序开发期间识别逻辑错误。 Assert(Boolean, String) 计算条件。 如果结果为 false,它将指定的诊断消息发送到 Listeners 集合。 可以通过向集合添加或从集合中删除一个TraceListenerListeners对象来自定义此行为。

应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止重试忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。

备注

消息框的显示取决于是否存在 DefaultTraceListenerDefaultTraceListener如果集合中Listeners不存在,则不显示消息框。 DefaultTraceListener可以通过对属性 () System.Diagnostics.Trace.Listeners.Clear() 调用Clear方法Listeners来删除该方法。 对于.NET Framework应用,还可以使用<clear>应用的配置文件中的元素和<remove>元素

对于.NET Framework应用,可以更改与应用程序名称相对应的配置文件中的行为DefaultTraceListener。 在此文件中,可以启用或禁用断言消息框或设置 DefaultTraceListener.LogFileName 属性。 配置文件的格式应如下所示:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="4"/>  
    </switches>  
    <trace autoflush="false" indentsize="4"/>  
    <assert assertuienabled="true" logfilename=".\TraceLog.txt"/>  
  </system.diagnostics>  
</configuration>  

另请参阅

适用于

Assert(Boolean, String, String)

检查条件 ;如果条件为 false,则输出两条指定消息,并显示一个消息框,其中显示调用堆栈。

public:
 static void Assert(bool condition, System::String ^ message, System::String ^ detailMessage);
[System.Diagnostics.Conditional("TRACE")]
public static void Assert (bool condition, string? message, string? detailMessage);
[System.Diagnostics.Conditional("TRACE")]
public static void Assert (bool condition, string message, string detailMessage);
[<System.Diagnostics.Conditional("TRACE")>]
static member Assert : bool * string * string -> unit
Public Shared Sub Assert (condition As Boolean, message As String, detailMessage As String)

参数

condition
Boolean

要计算的条件表达式。 如果条件为 true,则不会发送指定的消息,也不显示消息框。

message
String

要发送到 Listeners 集合的消息。

detailMessage
String

要发送到 Listeners 集合的详细消息。

属性

示例

以下示例检查参数 type 是否有效。 如果传入是type``null,则Assert输出消息。

public:
   static void MyMethod( Type^ type, Type^ baseType )
   {
      #if defined(TRACE)
      Trace::Assert( type != nullptr, "Type parameter is null", "Can't get object for null type" );
      #endif
      
      // Perform some processing.
   }
public static void MyMethod(Type type, Type baseType)
{
    Trace.Assert(type != null, "Type parameter is null",
       "Can't get object for null type");

    // Perform some processing.
}
Public Shared Sub MyMethod(type As Type, baseType As Type)
    Trace.Assert( Not (type Is Nothing), "Type parameter is null", _
        "Can't get object for null type")

    ' Perform some processing.
End Sub

注解

Trace.Assert如果要在发布版本中执行断言,请使用该方法。 该方法 Debug.Assert 仅在调试版本中有效。 有关详细信息,请参阅托管代码中的断言

通常, Assert(Boolean, String, String) 该方法用于在程序开发期间识别逻辑错误。 Assert 计算条件。 如果结果为 false,它将指定的诊断消息和详细消息发送到 Listeners 集合。 可以通过向集合添加或从集合中删除一个TraceListenerListeners对象来自定义此行为。

应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止重试忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。

备注

消息框的显示取决于是否存在 DefaultTraceListenerDefaultTraceListener如果集合中Listeners不存在,则不显示消息框。 DefaultTraceListener可以通过对属性 () System.Diagnostics.Trace.Listeners.Clear() 调用Clear方法Listeners来删除该方法。 对于.NET Framework应用,还可以使用<clear>应用的配置文件中的元素和<remove>元素

对于.NET Framework应用,可以更改与应用程序名称相对应的配置文件中的行为DefaultTraceListener。 在此文件中,可以启用或禁用断言消息框或设置 DefaultTraceListener.LogFileName 属性。 配置文件的格式应如下所示:

<configuration>  
  <system.diagnostics>  
    <switches>  
      <add name="mySwitch" value="4"/>  
    </switches>  
    <trace autoflush="false" indentsize="4"/>  
    <assert assertuienabled="true" logfilename=".\TraceLog.txt"/>  
  </system.diagnostics>  
</configuration>  

另请参阅

适用于