为应用程序开发人员上班 Certkiller.com。创建一个新的类使用的非托管的资源,但其中仍有其他对象对托管资源的引用。您希望新类的用户能够不再需要的类的实例时,显式地释放资源。下一步你该怎么办?

17 查阅

A.定义的现有的类,以便使它从WeakReference类继承。

B.定义的现有的类,以便它适用IDisposable接口。

C.创建新的类析构函数,其他释放托管的资源的对象上调用方法。

D.创建新类析构函数释放非托管的资源。

E.创建一种新的处理方法调用System GC Collect,强制进行垃圾回收。

F.创建一个新的处理方法,释放非托管的资源,并还呼吁释放托管的资源的其他对象方法,其中。

参考答案:

参考B, D, E它是要实现IDisposable接口,如果您需要释放非托管的资源,或者希望显式控制托管资源的使用寿命。应创建类析构函数释放非托管的资源,这应从调用Dispose方法内。Dispose方法也应释放托管的资源。WeakReference从继承将导致垃圾回收器释放资源,即使可能有效的引用。Dispose方法中,应释放托管的资源。可以使用System.GC.Collect,但它是更有效地手动释放托管的资源。GC招开销,并可能只是最近才被称为反正。应显式释放问题国家资源。

计算机考试