我有以下代码:
Contract.Requires(somecondition, "some message"/*some comment*/);
并且在某些时刻进行调试时,条件未得到满足,并且它使用通常的文本和注释抛出了异常! :P所以我得到了这个例外:
ContractException was unhandled.
Precondition failed: somecondition. "some message"/*some comment*/
所以我的问题是,这是一个错误还是什么?该方法的第二个参数是字符串类型,但它只接受文字,所以我知道整个方法是一个黑客,但它不应该接受该评论,对吗?
答案 0 :(得分:2)
这是因为“Code Contracts rewriter”重写了该语句,使用户能够查看生成的异常消息中的所有信息(包括条件表达式本身,以及显然也是注释)。
http://visualstudiomagazine.com/articles/2010/06/23/code-contracts.aspx