所以我试着用代码契约运行一些简单的代码(我已经有一段时间没用过了)
static void Main(string[] args) { double res = sqrt(-5); } static double sqrt(int a) { Contract.Requires(a >= 0, "a must be >= 0!"); return Math.Sqrt(a); }
但当我运行它时,它似乎什么也做不了。从我几个月前的回忆来看,应该会有一个错误 a 小于0。
a
为了安全起见,我从代码合同网站重新安装了学术版,但这似乎仍然不起作用。要使代码契约生效,需要哪些步骤?
编辑:Resharper告诉我 Contract.Requires(a >= 0); 方法被跳过,因为它要么是“有条件的,要么是没有实现的部分方法”。
Contract.Requires(a >= 0);
谢谢
您应该检查此网页: link text
您应该转到“项目属性”、“代码协定”选项卡,然后单击“运行时”复选框。