代码合同和异常抛出的区别
我想了解代码契约的优势。我编写了以下代码(来自 PEX + 代码合约介绍)来挖掘它。 public static string TrimAfter(string value, string suffix) {…
将代码合约部署到生产环境中是不是不好?
我引用这个答案(强调我的): 查看 ContractClass 和 ContractClassFor 属性。这允许您在单独的程序集中编写带有代码协定的类。这使您可以将合约用于…
如何告诉代码合约指定为参数的委托是 Pure 的?
考虑以下代码: int SomeField; void Foo([Pure] Func getData) { Contract.Requires(getData != null); Contract.Requires(getData(this.SomeField) …
C# 代码契约:如何验证其他程序集中定义的接口方法的参数?
我遇到了一个情况,我不知道该如何解决。 根据用户手册第3节,一个contractmethod,即Require 或 Ensure。契约方法应在根虚拟/抽象方法中声明,并且由…
.NET 4 代码契约:“需要未经验证:源!= null”
我刚刚开始在我的项目中使用代码契约。但是,我的存储库实现存在问题,它使用实体框架查询数据库。 我有以下方法: public IEnumerable GetAllOrganiz…
代码合约 - 不错,处于边缘,但还没有准备好迎接黄金时段?
我对 .NET 4 中引入的代码契约着迷(尽管是在 DevLabs 的帮助下)。但一张精美的印刷品让我冷静下来。它是这么说的: 目前,除了不使用后置条件之外,…
代码契约与不使用它的框架一起
我有这样的代码: return session.Query() .OrderBy(payment => payment.Created) .Skip((page - 1)*pageSize) .Take(pageSize) .ToArray(); 由于 NHi…
.Net 3.5 使用代码契约实现 String.IsNullOrWhitespace
我正在尝试在我的 .Net 3.5 (C#) 项目中使用合同。我发现我在哪里写过类似 if (string.IsNullOrEmpty(s) || string.IsNullOrEmpty(s.Trim())) throw n…
代码合约失败示例 Graph.Remove(Edge e)
这是一个简单的图形操作方法,我用代码契约来装饰它。 确保声明无法证明,但我不明白为什么!我相信它声称在调用 Remove() 后,要么该边不再在边列表…
CodeContract 认为分配的只读字段可以为 null
我有这个代码: public class CodeContractSample { private readonly List _items = new List(); public IEnumerable Query() { Contract.Ensures(Co…
代码契约 - 假设与要求
这两种说法有什么区别? Contract.Requires(string.IsNullOrWhiteSpace(userName)); Contract.Assume(string.IsNullOrWhiteSpace(userName)); …
C# 中的代码契约和 null 检查
在我的代码中,我经常这样做: myfunction (parameter p) { if(p == null) return; } 我如何用代码合约替换它? 我有兴趣找出是否已传入 null 并通过…
合同确保 GUID 未经验证
我有一个未经证实的保证: !ReferenceEquals(Contract.Result(), null) 该合同位于一个接口上,我无法控制 我的实现,就像这样, public Guid Blah() …