冷风.NET

    ---默默無聞
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#中可使用using关键字自动清除对象资源。

Posted on 2004-10-12 09:26  冷风.net  阅读(471)  评论(0编辑  收藏  举报
# MyObject.cs

using System;



namespace MyProjects

{

public class MyObject : IDisposable

{

public MyObject()

{

}



public void Dispose ( )

{

// Dispose

Console.WriteLine ( "Disposed" ) ;

// ...

}

}

}



# Class1.cs

using System;



namespace MyProjects

{

public class Class1

{

public Class1()

{

}



public static void Main ( string[] args )

{

using ( MyObject myObject = new MyObject ( ) )

{

Console.WriteLine ( "quit" ) ;

}

}

}

}



使用using会自动调用MyObject的Dispose方法.

如果MyObject未实现IDispose接口,则编译时会出错:无法将类型“MyProjects. MyObject”隐式转换为“System.IDisposable”

这种写法可替代

try

{ //... }

catch

{ }

finnaly

{ MyObject.Dispose ( ) ; }