VB.Net Tutorial/Class Module/Destructor
Destructor in three levels
<source lang="vbnet">Class A
Public Sub New() Console.WriteLine("In class A constructor") End Sub Protected Overrides Sub Finalize() Console.WriteLine("In class A destructor") MyBase.Finalize() End Sub
End Class Class B
Inherits A Public Sub New() Console.WriteLine("In class B constructor") End Sub Protected Overrides Sub Finalize() Console.WriteLine("In class B destructor") MyBase.Finalize() End Sub
End Class Class C
Inherits B Public Sub New() Console.WriteLine("In class C constructor") End Sub Protected Overrides Sub Finalize() Console.WriteLine("In class C destructor") MyBase.Finalize() End Sub
End Class
Module Module1
Sub Main() Dim objSample As New C() End Sub
End Module</source>
In class A constructor In class B constructor In class C constructor In class C destructor In class B destructor In class A destructor
Inherit destructor
<source lang="vbnet">Class Base
Public Sub New() Console.WriteLine("The Base Class Constructor is Running") End Sub Protected Overrides Sub Finalize() Console.WriteLine("The Base Class Destructor is Running") MyBase.Finalize() End Sub
End Class Class Derived
Inherits Base Public Sub New() Console.WriteLine("The Derived Class Constructor is Running") End Sub Protected Overrides Sub Finalize() Console.WriteLine("The Derived Class Destructor is Running") MyBase.Finalize() End Sub
End Class
Module Module1
Sub Main() Dim Sample As New Derived() End Sub
End Module</source>
The Base Class Constructor is Running The Derived Class Constructor is Running The Derived Class Destructor is Running The Base Class Destructor is Running