Trace.Assert 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检查条件 ;如果条件为 false
,则输出消息,并显示一个消息框,其中显示调用堆栈。
重载
Assert(Boolean) |
检查条件 ;如果条件为 |
Assert(Boolean, String) |
检查条件;如果条件为 |
Assert(Boolean, String, String) |
检查条件 ;如果条件为 |
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对象来自定义此行为。
应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止、 重试 和 忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。
备注
消息框的显示取决于是否存在 DefaultTraceListener。 DefaultTraceListener如果集合中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
,则不会发送指定消息,也不显示消息框。
- 属性
示例
以下示例检查参数 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对象来自定义此行为。
应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止、 重试 和 忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。
备注
消息框的显示取决于是否存在 DefaultTraceListener。 DefaultTraceListener如果集合中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
,则不会发送指定的消息,也不显示消息框。
- 属性
示例
以下示例检查参数 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对象来自定义此行为。
应用程序在用户界面模式下运行时,会显示一个消息框,其中显示了包含文件和行号的调用堆栈。 消息框包含三个按钮: 中止、 重试 和 忽略。 单击 “中止 ”按钮将终止应用程序。 如果应用程序在调试器中运行,则单击 “重试 ”会将你发送到调试器中的代码,或者提供打开调试器(如果不是)。 单击“ 忽略 ”继续执行代码中的下一条指令。
备注
消息框的显示取决于是否存在 DefaultTraceListener。 DefaultTraceListener如果集合中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>