C# 代码契约:从其他线程访问成员的后置条件是否无用?
经过一番思考,我得出的结论是,方法中的后置条件仅在强加于返回值、ref 和 out 参数时才有用,但不适用于字段、静态或任何实例。原因是,当调用该方…
使用支持集合实现 ICollection 时代码契约警告
我有这个代码: public class MyCollection : ICollection { private readonly ICollection _inner = new Collection(); public void Add(string item…
有没有办法模拟“宏”?在 c# 中?
我试图让 C# 中的 CodeContracts 看起来更像语句,所以我需要一个工具,允许我在编译器看到它之前替换一些代码,如果没有办法做到这一点,我想 Visual…
检查 .NET 中的先决条件
我是“早期失败”策略的粉丝,并且想要检查方法参数是否具有正确的值。在Java中,我会使用类似 Guava: checkArgument(count > 0, "must be positive:…
代码合约警告“假设”可能失败称呼
在我的一个类中,我有一个 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…