检查 .NET 中的先决条件
我是“早期失败”策略的粉丝,并且想要检查方法参数是否具有正确的值。在Java中,我会使用类似 Guava: checkArgument(count > 0, "must be positiv…
代码合约警告“假设”可能失败称呼
在我的一个类中,我有一个 ExpandoObject 类型的私有字段。该字段在构造函数 (this.expected = new ExpandoObject()) 中初始化,因此我确信它永远不会…
代码契约静态检查无法正常工作?
我在构造函数 CodeTypes 中创建了一个带有代码契约的类,它有一个字符串属性列表。 Contract.Requires(type == CodeTypes.AdmitDx1 || type == CodeTy…
代码契约确保 for 循环未经验证
我刚刚开始尝试 .Net 代码契约(在 VS2010 Ultimate .Net 4 中),试图了解静态检查器可以证明什么和不能证明什么。 我正在尝试以下示例:- public in…
代码合约、forall 和自定义可枚举
我正在使用 C# 4.0 和代码合约,并且有自己的自定义 GameRoomCollection : IEnumerable。 我想确保 GameRoomCollection 的任何实例都不会包含 null 值…
CodeAnalysis 和 CodeContracts 组合
我得到了一个 ContractClassFor ,它通过代码分析生成了少量警告。 例子: Microsoft.Usage:从未使用“IDocumentServiceContracts.GetItems(PrintQue…
代码合同和异常抛出的区别
我想了解代码契约的优势。我编写了以下代码(来自 PEX + 代码合约介绍)来挖掘它。 public static string TrimAfter(string value, string suffix) {…
将代码合约部署到生产环境中是不是不好?
我引用这个答案(强调我的): 查看 ContractClass 和 ContractClassFor 属性。这允许您在单独的程序集中编写带有代码协定的类。这使您可以将合约用于…
如何告诉代码合约指定为参数的委托是 Pure 的?
考虑以下代码: int SomeField void Foo([Pure] Func<int, object> getData) { Contract.Requires(getData != null) Contract.Requires(getData(t…
C# 代码契约:如何验证其他程序集中定义的接口方法的参数?
我遇到了一个情况,我不知道该如何解决。 根据用户手册第3节,一个contractmethod,即<在重写方法/属性或接口实现中不允许使用 code>Require 或 E…
.NET 4 代码契约:“需要未经验证:源!= null”
我刚刚开始在我的项目中使用代码契约。但是,我的存储库实现存在问题,它使用实体框架查询数据库。 我有以下方法: public IEnumerable<Organizatio…