ReSharper代码检查插件

本文关键字:插件 检查 代码 ReSharper | 更新日期: 2023-09-27 18:10:58

是否有可能扩展resharper代码检查/注释来处理你静态知道是正确的情况?

例如,我有一个我知道满足一定条件的效用函数,如:

    static public bool IsValid(double? d)
    {
        return d != null && IsValid(d.Value);
    }
    static public bool IsValid(double d)
    {
        return !Double.IsNaN(d) && !Double.IsInfinity(d);
    }

所以这确保了一个空值有一个值,我想要"可能的系统。InvalidOperationException"检查不触发以下内容:

    if (Utils.IsValid(nullableValue))
    {
        DoSomethingWith(nullableValue.Value);
    }

当然,我可以抑制检查等,但是否有可能扩展静态类型,以表明这实际上会确保值不可为空?

(我认为一个相关但过于普遍的问题是,我是否应该使用另一个静态类型检查,而不是可能处理它的resharper,但我不会问,因为担心过于宽泛!)

ReSharper代码检查插件

根据Daniel的建议,resharper支持大量的注释来帮助检查。

具体来说,通过文档我们在这里寻找的是:

    [ContractAnnotation("d:null => false")]
    static public bool IsValid(double? d)
    {
        return d != null && IsValid(d.Value);
    }

的效果很好,静态检查的效果也很好。

爱死那个resharper了!