在VS2010和.NET 4.0中,我看到intellisense中用于向我的代码添加合同的快捷方式(例如cr,crr)但是当我选择添加这些时,代码(如Contract.Requires)没有有效的汇编因此没有intellisense(基本上找不到类型)。
我究竟如何启动并运行代码合同?
编辑:System.Diagnostics.Contracts中存在所有方法,但我认为我会在整个过程中使用属性?此外,还有很多不同的.dll可供合同使用!
由于
答案 0 :(得分:2)
程序集只是mscorlib
- 而Contract
位于System.Diagnostics.Contracts
命名空间中。
<plug>
有关代码合同的更多信息,您可以在深度购买第二版C#并阅读第15章。(该章是免费提供的,但现在我不担心。)
</plug>
当然你也可以阅读文档,因为它们非常好:)
如果您发现自己错过了System.Diagnostics.Contracts
命名空间,那么值得检查一下您是否真正针对.NET 4 - 如果您在VS2010中创建一个.NET 3.5项目,则不会提供代码合同(无论如何都不添加显式的程序集引用。