我应该何时使用debug.assert而不是代码合同,反之亦然?我想检查方法的前提条件,但我对选择哪种方法感到困惑。我有单元测试,想要测试失败的情况并期望异常。
在同一个方法中同时使用Debug.Assert和Code contract是否是一个好习惯。如果是,应该按什么顺序编写代码?
Debug.Assert(parameter!= null);
Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
或者Contract.Requires<ArgumentNullException>(parameter != null, "parameter");
Debug.Assert(parameter!= null);
这背后有什么道理吗?
Trace.Assert
方法。” (http://msdn.microsoft.com/en-us/library/tk4kachs(v=vs.110).aspx) - heltonbiker