科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道using关键字的另类用法

using关键字的另类用法

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

using的另一个很有用的用法

作者:ghost 来源:CSDN 2007年9月28日

关键字: ghost using 关键字

  • 评论
  • 分享微博
  • 分享邮件
 在C#里使用关键字,除了引用名字空间外还可以用于表明某段代码使用一个对象,在这段代码结束的时候,这个对象资源应该被释放掉。下面的代码给出了一个很好的范例:

Using (TestObject a = new TestObject()) 

 {

      // 使用对象

}

//调用释放对象的方法

在处理对象的时候,上面的代码比使用try/catch/finally 要简便的多:

try

{

      TestObject a = new TestObject();

       // 使用对象

} catch (Exception e)

 {

        // 处理异常

} finally

{

       TestObject.Dispose();

}

在这个语句中有一处警告,就是对象必须实现IDisposable这个接口。通过实现接口,你就为这种类型的实例分配它所需要的资源。

IDisposable接口定义了一个方法--一个释放方法--就是释放那些已被分配出去而并没有在使用的资源。如果你不想代码自动去调用一个不存在的方法,这个方法就显得非常有用。如果你对一个对象使用关键字,而此时还没有实现IDisposable接口,编译器就会返回错误信息。下面这个程序中使用的这个类就是实现IDisposable的代码:

public class TestObject: IDisposable

{

        public TestObject()

       {

                   // 构建代码

       }

       public void Dispose()

       {

                //  清除管理的资源

                component.Dispose();

                 // 你同时需要清楚没有管理的资源

                 // 下面一行用于从队列中清除对象,以阻止其进一步的执行

                 GC.SuppressFinalize(this);

        } 

}



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1628142

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章