iDisposable

Posted themiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iDisposable相关的知识,希望对你有一定的参考价值。

大家都知道, .NET是分托管和非托管.

当我们要释放一些内存的时候, 我们可以使用IDisposable. 支持IDisposable接口的对象必须实现Dispose()方法.

 

但是c# 允许使用一种可以优化使用这个方法的结构. Using 关键字.

 

            Program program = new Program();

            using (program)
            {
                // Code here.
            }

 

Using的失职

在编译剪短, 编译器会自动将using语句生成try-finally语句.  并且在finally块中调用Dispose method来清理资源. 所以, using 语句等效于try-finally语句.

以上是关于iDisposable的主要内容,如果未能解决你的问题,请参考以下文章

编写高质量代码改善C#程序的157个建议——建议46:显式释放资源需继承接口IDisposable

使用 IDisposable 模式在 C# 中同步对资源的访问的方法

为啥我在 IDisposable 类中获得带有私有成员 IDisposable 的 CA2000?

IDisposable的另类用法

正确实施 IDisposable

iDisposable