Dea*_*ing 29
我不推荐它.问题是Debug.Assert只有当你的代码中有bug时才会被触发.如果您只是忽略它们或者不修复它们,那么您的用户就会受到损害.另一方面,如果你正在Debug.Assert解决那些不是 bug的问题,那么你也会对你的用户造成伤害(通过减少Debug.Assert的影响).
话虽如此,你可以禁用它.您需要做的第一件事是从Debug.Listeners集合中删除默认侦听器:
Debug.Listeners.Clear();
Run Code Online (Sandbox Code Playgroud)
然后,添加您自己的:
Debug.Listeners.Add(new MyTraceListener());
Run Code Online (Sandbox Code Playgroud)
您需要创建一个继承自TraceListener的类:
class MyTraceListener : TraceListener
{
// ...
public override void Fail(string msg, string detailedMsg)
{
// log the message (don't display a MessageBox)
}
}
Run Code Online (Sandbox Code Playgroud)
TraceListener.Fail方法的重要方法是在实现中DefaultTraceListener显示消息框的方法.
Jul*_*ian 24
没有必要 Debug.Listeners.Clear()
只需添加到.config:
<system.diagnostics>
<assert assertuienabled="false"/>
</system.diagnostics>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9132 次 |
| 最近记录: |