在 VS2010 和 .NET 4.0 中,我在智能感知中看到了将合同添加到我的代码(例如 cr、crr)中的快捷方式,但是当我选择添加这些合同时,代码(例如 Contract.Requires)没有有效的程序集,所以没有智能感知(基本找不到类型)。
我究竟如何启动并运行代码合约?
编辑:所有方法都存在于 System.Diagnostics.Contracts 中,但我认为我会在整个过程中使用属性?此外,可用的合同有很多不同的 .dll!
谢谢
在 VS2010 和 .NET 4.0 中,我在智能感知中看到了将合同添加到我的代码(例如 cr、crr)中的快捷方式,但是当我选择添加这些合同时,代码(例如 Contract.Requires)没有有效的程序集,所以没有智能感知(基本找不到类型)。
我究竟如何启动并运行代码合约?
编辑:所有方法都存在于 System.Diagnostics.Contracts 中,但我认为我会在整个过程中使用属性?此外,可用的合同有很多不同的 .dll!
谢谢
该程序集只是mscorlib
- 并且Contract
位于System.Diagnostics.Contracts
名称空间中。
<plug>
有关代码合同的更多信息,您可以购买第二版 C# in Depth 并阅读第 15 章。(那一章是免费提供的,但恐怕现在不是。)
</plug>
或者当然你也可以阅读文档,因为它们非常好:)
如果您发现缺少System.Diagnostics.Contracts
命名空间,则值得检查一下您是否真的针对 .NET 4 - 如果您在 VS2010 中创建一个 .NET 3.5 项目,则将没有可用的代码协定(无论如何都没有添加显式程序集引用)。