Trace.Assert 方法

定义

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

重载

Assert(Boolean)

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

Assert(Boolean, String)

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

Assert(Boolean, String, String)

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

Assert(Boolean)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.cs

检查条件 ;如果条件为 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 。 可以通过向集合添加 TraceListener 或从 Listeners 集合中删除来自定义此行为。

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

注意

消息框的显示取决于 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中Listeners,则不显示消息框。 DefaultTraceListener可以通过调用 Clear 属性上的 方法Listeners删除 (System.Diagnostics.Trace.Listeners.Clear()) 。 对于.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)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.cs

检查条件;如果条件为 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 集合。 可以通过向集合添加 TraceListener 或从 Listeners 集合中删除来自定义此行为。

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

注意

消息框的显示取决于 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中Listeners,则不显示消息框。 DefaultTraceListener可以通过调用 Clear 属性上的 方法Listeners删除 (System.Diagnostics.Trace.Listeners.Clear()) 。 对于.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)

Source:
Trace.cs
Source:
Trace.cs
Source:
Trace.cs

检查条件 ;如果条件为 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 集合。 可以通过向集合添加 TraceListener 或从 Listeners 集合中删除来自定义此行为。

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

注意

消息框的显示取决于 是否存在 DefaultTraceListenerDefaultTraceListener如果 不在集合中Listeners,则不显示消息框。 DefaultTraceListener可以通过调用 Clear 属性上的 方法Listeners删除 (System.Diagnostics.Trace.Listeners.Clear()) 。 对于.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>  

另请参阅

适用于