我有以下代码:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(SqrtRoot(0));
Console.WriteLine(SqrtRoot(10));
Console.WriteLine(SqrtRoot(-10));
Console.ReadKey();
}
public static int SqrtRoot(int i)
{
Contract.Requires(i >= 0);
return (int)Math.Sqrt(i);
}
}
我在调试模式下运行它,它应该在最后一行引发某种错误
Console.WriteLine(SqrtRoot(-10));
尽管如此,由于某种原因,它没有。它似乎忽略了 Contract.Requires() 调用。在尝试使用代码合同时我应该设置一些东西吗?
我正在使用 Visual Studio 2010 RC。
谢谢