代码合同确保ReSharper ExternalAnnotations

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

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

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

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