ReSharper 2026.1 Help

コードインスペクション: 戻り値は破棄する必要がありますが、メソッドまたは関数に [MustDisposeResource] アノテーションが付けられていません

[MustDisposeResourceAttribute]JetBrains.Annotations から使用して呼び出し元のコードで リソースの廃棄を強制している場合、アノテーション付きソースからリソースを取得するメソッドがリソースの廃棄処理をせずに他の呼び出し元へ返すと、リソースの不適切な処理の問題が呼び出し元に引き継がれます。 ReSharper はこのようなケースを報告し、メソッドに [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 日