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,但我不会问,因为担心过于宽泛!)
根据Daniel的建议,resharper支持大量的注释来帮助检查。
具体来说,通过文档我们在这里寻找的是:
[ContractAnnotation("d:null => false")]
static public bool IsValid(double? d)
{
return d != null && IsValid(d.Value);
}
的效果很好,静态检查的效果也很好。
爱死那个resharper了!