扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者