代码检查:带有 [MustDisposeResource] 注解的方法的返回值从未被释放
如果您在调用代码中使用 [MustDisposeResourceAttribute] (来自 JetBrains.Annotations )来 强制资源释放 ,JetBrains Rider 会报告以下情况:存在一个通过构造函数或返回可释放资源的工厂方法初始化的变量,但该变量未被正确处理。
为了避免对可释放资源的错误处理,JetBrains Rider 建议将变量声明转换为 示意图 声明或 示意图 块:
[MustDisposeResource]
public class HasNativeResources : IDisposable
{
private IDisposable _resource;
public void Dispose()
{
_resource.Dispose();
}
}
public class Test
{
public Test()
{
var resource =
new HasNativeResources();
}
}
[MustDisposeResource]
public class HasNativeResources : IDisposable
{
private IDisposable _resource;
public void Dispose()
{
_resource.Dispose();
}
}
public class Test
{
public Test()
{
using var resource =
new HasNativeResources();
}
}
最后修改日期: 2025年 9月 26日