JetBrains Rider 2025.2 Help

代码检查:返回值应被释放,但方法或函数未使用 [MustDisposeResource] 注解

如果您在调用代码中使用了 [MustDisposeResourceAttribute] (来自 JetBrains.Annotations )来 强制资源释放 ,而从带注解的来源获取资源的方法未处理资源释放,却将其返回给其他调用者,则潜在的资源处理不当问题将传递给调用者。 JetBrains Rider 报告此类情况,并建议使用 [MustDisposeResource] 注解方法,以明确将处理可释放资源的责任委托给调用者:

[MustDisposeResource] public class HasNativeResources : IDisposable { private IDisposable _resource; public void Dispose() { _resource.Dispose(); } public void Configure() { //configure resource } } public class Test { HasNativeResources CreateAndConfigure() { var resource = new HasNativeResources(); resource.Configure(); return resource; } }
[MustDisposeResource] public class HasNativeResources : IDisposable { private IDisposable _resource; public void Dispose() { _resource.Dispose(); } public void Configure() { //configure resource } } public class Test { [MustDisposeResource] HasNativeResources CreateAndConfigure() { var resource = new HasNativeResources(); resource.Configure(); return resource; } }
最后修改日期: 2025年 9月 26日