C#资源释放及Dispose、Close与析构方法.docxVIP

  • 3
  • 0
  • 约3.65千字
  • 约 5页
  • 2017-06-17 发布于湖北
  • 举报

C#资源释放及Dispose、Close与析构方法.docx

C#资源释放及Dispose、Close和析构方法需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象;非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等;毫无例外地,如果我们的类型使用到了非托管资源,或者需要显式释放的托管资源,那么,就需要让类型继承接口IDisposable。这相当于是告诉调用者,该类型是需要显式释放资源的,你需要调用我的Dispose方法。不过,这一切并不这么简单,一个标准的继承了IDisposable接口的类型应该像下面这样去实现。这种实现我们称之为Dispose模式:publicclassSampleClass : IDisposable {//演示创建一个非托管资源privateIntPtrnativeResource = Marshal.AllocHGlobal(100);//演示创建一个托管资源privateAnotherResourcemanagedResource = newAnotherResource();privatebool disposed = false;///summary///实现IDisposable中的Dispose方法////summarypub

文档评论(0)

1亿VIP精品文档

相关文档