什么是C#中最简单的IDisposable模式?

这个问题在这里已经有了答案:

  • 正确使用IDisposable接口18的答案

  • 你几乎已经拥有了它,因为你的类没有被密封的人可以从你的类派生出来,派生类也可能需要处理一个对象。 让你的课程密封起来,你现在的实施很好。

    public sealed class ManagedResourceClient : IDisposable
    {
        private ITheManagedResource _myManagedResource = new TheManagedResource()
    
        public void Dispose()
        {
            if ( _myManagedResource != null )
            {
                _myManagedResource.Dispose();
                _myManagedResource = null;
            }
        } 
    }
    

    如果你想了解更多关于处置的信息(以及为什么微软提供的finializer库存的例子实际上是一个不好的例子),请看Stepen Cleary的这篇非常好的文章:“IDisposable:你的母亲从未告诉过你关于资源释放”

    链接地址: http://www.djcxy.com/p/54483.html

    上一篇: What is the simplest IDisposable pattern in c#?

    下一篇: What is the correct way to implement IDisposable in C#?