【发布时间】:2010-11-27 17:19:22
【问题描述】:
你好 我有一个关于 CodeContracts 的小问题。我有一个类库项目,它作为一个具有方法 foo(string s1, string s2); 的类; 在 foo 方法中,我有一个 Contract.Requires(s1 != null)。 因此,如果我理解了我的代码的含义(是的,我刚刚安装了 CodeContracts 并开始使用 :),则该合约将在构建过程和运行时检查 s1 != null 表达式,并抛出 ArgumentException>。 我想测试行为,当我从类 lib 项目中调用 foo(null, "test") 时,设计器会告诉我这个问题,但是当我从 winform 应用程序项目中调用它时,我没有收到任何警告错误列表窗口。那么这是否意味着代码合约只在它们所在的项目中有效,而不是在外部呢? 谢谢
更新
我忘了提到我添加的先决条件在静态分析中不起作用。但是,它们确实会在运行时抛出带有适当消息的 ArgumentException。
【问题讨论】:
标签: c# visual-studio visual-studio-2010 code-contracts