JetBrains Rider 2026.1 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; } }
2026 年 6 月 12 日