您的位置:首页 > 其它

using关键字的另类用法

2007-05-28 13:31 399 查看
在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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: