代码跳过 Contract.Requires
我正在尝试使用 c# 合约编写此方法...但是在调试时,它完全忽略了 Contract.requires 和 CheckRep() 我是否错误地使用了它? public Poly Add(Poly q)…
我可以使用代码契约来解决无法使用通用构造函数约束的问题吗?
我正在编写一个类,该类将创建另一个类的不可变副本,而我这样做的方式要求该副本在构造函数中采用日期和原始实例。我知道您无法创建指定参数的构造函…
代码合约和 ASP.Net 验证器
想象一下我有一个具有合同的方法: public void Do(string value) { Contract.Requires(!string.IsNullOrEmpty(value)); MyBusiness.Handle(value); }…
代码契约、继承和里氏原则
我的代码中有命令的概念: public abstract class BaseCommand { public BaseCommand() { this.CommandId = Guid.NewGuid(); this.State = CommandSta…
将方法参数验证代码重构为Contracts - 语句反转问题
旧的验证代码通常检查布尔条件,如果条件成立则抛出异常。 相反,Contract.Requires(...) 执行相反的操作(为了通过检查,我们需要否定旧条件)。 我…
代码契约和接口继承的奇怪警告/错误
作为主题,我遇到了代码契约和接口的严重警告/错误。 这里是我的场景 主接口 [ContractClass(typeof(DTOInfoContract))] public interface IDTOInfo {…
为什么我不能在重写的方法中添加 Contract.Requires ?
我正在使用代码契约(实际上,正在学习使用它)。 我面临着一些奇怪的事情......我重写了在第 3 方程序集中定义的方法。我想添加一个像这样的 Contrac…
如何让代码合约相信变量不为空?
我有一些工厂方法 public T Create () where T : class { Contract.Ensures(Contract.Result() != null); T result = this.unityContainer.Resolve();…
不变方法 [ContractInvariantMethod] 可以在接口契约中工作吗?
我正在创建接口合同,如 2.8 接口合同中所述-9231-EF8076B7EC13/userdoc.pdf" rel="nofollow">2011 年 2 月 4 日代码合约用户手册(PDF)。这不是问题。…
.NET 4.0 中开箱即用的代码协定
我真的很想尝试 Visual Studio 2010 中的新代码契约,但我不想安装 Visual Studio 的其他扩展(因为我的代码与同事共享)。 现在,当面向 .NET 4.0 时…
Contract.Ensures 如何运作?
我开始使用代码契约,虽然 Contract.Requires 非常简单,但我很难了解 Ensures 的实际作用。 我尝试创建一个像这样的简单方法: static void Main() {…
我可以获得代码合同来警告我有关“非法”的行为吗?子类型?
抱歉,如果这个问题看起来太长。在我提出问题之前,我需要先表明它来自哪里。 设置: 给定以下不可变类型 Rectangle: class Rectangle { public Rect…