关于IDisposable接口

这是第一篇博客,一个.NET菜鸟的成长记录就此开始,希望自己能坚持写下去。

闲话少说,进入正题。

最后一个项目中遇到关于IDisposable接口的问题,老师没怎么讲,不懂,于是上网查了一下资料,总结如下:

一、为什么要用到IDisposable接口?

IDisposable接口主要用途是释放非托管的资源。当不再使用托管对象时,其实垃圾回收器也会自动释放该对象,但是由于无法预测回收它的时间,所以就用到IDisposable接口来主动释放对象,提高性能。

二、IDisposable的两个基本用法

第一种是使用using,第二种是调用IDisposable接口的Dispose()。注:不能写成其他的方法名,因为IDisposable接口中就这一个固定方法。

代码如下:

public class Test : IDisposable
{
    string a = "测试";
    public void myTest()
    {
        Console.WriteLine(a);

    }
    public void isDpose()
    {
        a = null;
    }

}
public class Test2
{

   /// <summary>
    /// 第一种方法:使用using
    /// </summary>
    public void test()
    {
        using (Test t = new Test())
        {
            t.myTest();
        }
    }

    /// <summary>
    /// 第二种方法:把对象转换成IDisposable类型后,调用Dispose();
    /// </summary>
    public void test2()
    {
        Test t = new Test();
        t.myTest();//使用对象
        IDisposable dp = t as IDisposable;//对象使用完之后
        dp.Dispose();

    }

本文参考http://hi.baidu.com/smithallen/item/c9740f17f44435fb756a84b1。

本人菜鸟一枚,如果上面总结的有哪些不对,还请多多指正,谢谢。

你可能感兴趣的:(关于IDisposable接口)