gpt4 book ai didi

c# - 我如何告诉 ReSharper 我正在使用 Debug.Assert 的包装器来避免 null ref 警告?

转载 作者:太空狗 更新时间:2023-10-30 01:30:54 27 4
gpt4 key购买 nike

所以我过去常常在我的代码周围使用 Debug.Assert,但现在我创建了一个 DebugHelper.Assert,它本身有一些日志记录和一个 Debug .Assert 但现在我收到了 100 万条警告,指出某些内容可能为空。

我可以告诉 ReSharper 执行 DebugHelper.AssertDebug.Assert 相同,从而消除警告吗?

编辑:我真的很想(也可能不得不)避免为此向项目添加另一个依赖项。

最佳答案

您想向 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 .

关于c# - 我如何告诉 ReSharper 我正在使用 Debug.Assert 的包装器来避免 null ref 警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42436282/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com