有谁知道如何在ReSharper ExternalAnnotations中添加代码合同保证?它不存在于最后一个v7.1.3中,也不存在于最新的v8 EAP中,也不存在于任何浮动的自定义xmls中。
具体来说,它应该检测方法是否不返回null:Contract.Ensures(Contract.Result<T>() != null);
答案 0 :(得分:4)
如果您试图简单地安抚分析引擎,最简单的方法是在方法声明前面使用[NotNull]
。您在上面发布链接的合同注释是一种更强大的机制,用于定义输入参数和返回值之间的关系,例如[ContactAnnotation("null => null")]
。
但是,显式分析Contract.Ensures
语句是一个完全不同的命题,因为不能通过[ContractAnnotation]
或任何其他ReSharper注释属性为此语句定义自动分析。