所以我以前在我的代码周围都有Debug.Assert
,但现在我创建了一个DebugHelper.Assert
,它本身有一些日志记录和一个Debug.Assert
但现在我得到了100万警告某事可以为空。
我可以告诉ReSharper,DebugHelper.Assert
与Debug.Assert
是否相同,从而摆脱了警告?
编辑: 我真的希望(也许必须)避免为此项目添加另一个依赖项。
答案 0 :(得分:3)
您想要为DebugHelper.Assert
方法添加属性。您可以在项目中引用JetBrains.Annotations包,并添加一个Contract断言,如:
[ContractAnnotation("condition:false => halt")]
public void Assert(bool condition)
{
// ...
}
这告诉ReSharper如果condition
参数为false,则该方法将停止。这就是ReSharper如何注释标准Debug.Assert
方法(尽管通过"外部"注释在xml文件中,而不是在代码中内联)。
您还可以将JetBrains.Annotations包标记为开发时间依赖项 - 属性是有条件的,默认情况下不会编译为生成的二进制文件。 this blog post中的更多详细信息。