1

在 VS2010 和 .NET 4.0 中,我在智能感知中看到了将合同添加到我的代码(例如 cr、crr)中的快捷方式,但是当我选择添加这些合同时,代码(例如 Contract.Requires)没有有效的程序集,所以没有智能感知(基本找不到类型)。

我究竟如何启动并运行代码合约?

编辑:所有方法都存在于 System.Diagnostics.Contracts 中,但我认为我会在整个过程中使用属性?此外,可用的合同有很多不同的 .dll!

谢谢

4

1 回答 1

2

该程序集只是mscorlib- 并且Contract位于System.Diagnostics.Contracts名称空间中。

<plug> 有关代码合同的更多信息,您可以购买第二版 C# in Depth 并阅读第 15 章。(那一章是免费提供的,但恐怕现在不是。) </plug>

或者当然你也可以阅读文档,因为它们非常好:)

如果您发现缺少System.Diagnostics.Contracts命名空间,则值得检查一下您是否真的针对 .NET 4 - 如果您在 VS2010 中创建一个 .NET 3.5 项目,则将没有可用的代码协定(无论如何都没有添加显式程序集引用)。

于 2010-03-28T22:02:50.480 回答