我有以下代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
我在调试模式下运行它,它应该在最后一行触发某种错误
Console.WriteLine(SqrtRoot(-10));
Run Code Online (Sandbox Code Playgroud)
尽管如此,它还没有.它似乎忽略了Contract.Requires()调用.在尝试使用代码合同时,我应该设置一些东西吗?
我正在使用Visual Studio 2010 RC.
谢谢
我也没有该选项卡,但我找到了解决方法:
Contract.Requires<ArgumentOutOfRangeException>(i >= 0);
Run Code Online (Sandbox Code Playgroud)
可能必须安装代码合同包,但下载链接不起作用。http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |