问题:
为应用程序开发人员上班 Certkiller.com。创建一个新的类使用的非托管的资源,但其中仍有其他对象对托管资源的引用。
您希望新类的用户能够不再需要的类的实例时,显式地释放资源。
下一步你该怎么办?()
选择您要执行的三个操作。每一个正确的答案显示唯一的完整的解决方案的一部分。
A . 定义的现有的类,以便使它从WeakReference类继承。
B . 定义的现有的类,以便它适用IDisposable接口。
C . 创建新的类析构函数,其他释放托管的资源的对象上调用方法。
D . 创建新类析构函数释放非托管的资源。
E . 创建一种新的处理方法调用System GC Collect,强制进行垃圾回收。
F . 创建一个新的处理方法,释放非托管的资源,并还呼吁释放托管的资源的其他对象方法,其中。
为应用程序开发人员上班 Certkiller.com。创建一个新的类使用的非托管的资源,但其中仍有其他对象对托管资源的引用。
您希望新类的用户能够不再需要的类的实例时,显式地释放资源。
下一步你该怎么办?()
选择您要执行的三个操作。每一个正确的答案显示唯一的完整的解决方案的一部分。
● 参考解析
它是要实现IDisposable接口,如果您需要释放非托管的资源,或者希望显式控制托管资源的使用寿命。应创建类析构函数释放非托管的资源,这应从调用Dispose方法内。Dispose方法也应释放托管的资源。 WeakReference从继承将导致垃圾回收器释放资源,即使可能有效的引用。 Dispose方法中,应释放托管的资源。可以使用System.GC.Collect,但它是更有效地手动释放托管的资源。GC招开销,并可能只是最近才被称为反正。应显式释放问题国家资源。