3

有谁知道如何在 ReSharper ExternalAnnotations 中添加代码合同确保?它不在最新的 v7.1.3 和最新的 v8 EAP 中,也没有在任何浮动的自定义 xml 中。

具体来说,它应该检测方法是否返回 null:Contract.Ensures(Contract.Result<T>() != null);

4

1 回答 1

4

如果您试图简单地安抚分析引擎,最简单的使用方法是[NotNull]在方法声明之前。您在上面发布链接的合同注释是一种更强大的机制,用于定义输入参数和返回值之间的关系,例如[ContactAnnotation("null => null")].

但是,显式分析语句是一个完全不同的命题,因为无法通过或任何其他 ReSharper 注释属性Contract.Ensures为此语句定义自动分析。[ContractAnnotation]

于 2013-06-24T20:40:27.117 回答