JetBrains Rider 2025.2 Help

代码检查:[MustDisposeResource] 注解未从基类构造函数继承,需显式添加

如果您在调用代码中使用了 [MustDisposeResourceAttribute] ,来自 JetBrains.Annotations ,用于 强制资源处理 ,您需要注意,如果注解放置在基类的构造函数上,它不会被继承。 这种设计的动机是派生类可能会处理资源的释放。 在其他情况下,您需要显式地为派生类或其构造函数添加 [MustDisposeResourceAttribute] ,以通知其用户需要释放资源。

public class HasNativeResources : IDisposable { [MustDisposeResource] public HasNativeResources(object a) { // Do something with a } [HandlesResourceDisposal] public void Dispose() { } } class MayHaveNativeResources : HasNativeResources { public MayHaveNativeResources(object b) : base(b) { Console.WriteLine(); } }
public class HasNativeResources : IDisposable { [MustDisposeResource] public HasNativeResources(object a) { // Do something with a } [HandlesResourceDisposal] public void Dispose() { } } class MayHaveNativeResources : HasNativeResources { [MustDisposeResource] public MayHaveNativeResources(object b) : base(b) { Console.WriteLine(); } }
最后修改日期: 2025年 9月 26日