是否有一个版本的Debug.Assert()会在发布时检查条件

本文关键字:布时 条件 检查 版本 有一个 Debug Assert 是否 | 更新日期: 2023-09-27 18:02:53

我需要一个Debug.Assert()的版本,在发布版本中,它仍然会执行条件参数中的代码,但如果断言失败则不会显示断言对话框。在。net 3.5中有这样的工具吗?或者我必须自己实现它(如果我可以的话)?

是否有一个版本的Debug.Assert()会在发布时检查条件

使用Trace。断言这个,它也可以在发布模式下工作。请参阅有关如何使用侦听器来使用另一种方法而不是弹出对话框的文档。摘录:

消息框的显示取决于DefaultTraceListener的存在。如果DefaultTraceListener不在"Listeners"集合中,则不显示此消息框。DefaultTraceListener可以通过元素对于元素对于,或通过调用listener属性上的Clear方法(system . diagnostics . trace . listener .Clear())。

例如:

#if (!DEBUG)
    System.Diagnostics.Trace.Listeners.Clear();
#endif

为什么不直接执行代码并用Debug.Assert检查结果呢?

bool isOk = CodeToBeExecuted();
Debug.Assert(isOk == true);