首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

关于Finalize()解决方案

2012-01-28 
关于Finalize()请看如下代码:PublicClassaProtectedOverridesSubFinalize()MyBase.Finalize()MsgBox( 先

关于Finalize()
请看如下代码:
Public   Class   a
 

        Protected   Overrides   Sub   Finalize()

                MyBase.Finalize()
                MsgBox( "先释放基类 ")
       
          End   Sub
End   Class

Public   Class   b
        Inherits   a

        Protected   Overrides   Sub   Finalize()
                MyBase.Finalize()
                MsgBox( "B类释放 ")
        End   Sub

End   Class

Public   Class   c
        Inherits   b


        Protected   Overrides   Sub   Finalize()

                MyBase.Finalize()     '释放其基类B
                MsgBox( "最后释放B的子类 ")
        End   Sub

End   Class

public   class   form1
              private   sub   button1_click()
              dim   aa   as   new   c
end   class
1:当我运行程序并关闭的时候,请问这个Finalize()方法的运行顺序是什么?是先运行父类的,还是先运行最下面的class   c的?
2:在class   a中的Finalize()方法中,代码写的是mybase.Finalize()
但是class   a本身就是基类,哪里来的mybase呢?
3:class   a中重写的Finalize()方法是重写的谁的?

[解决办法]
1.先运行Object的,再运行a的,再运行b的,再运行c的。
2..Net中任何类都继承自Object。
3.Object的。

热点排行