Public Class A
Public Overridable Function method() As Integer
Return 0
End Function
End Class
Public Class B
Public Overridable Function method() As Integer
Return 1
End Function
End Class
Class Mymethodinfo
Public Shared Function Main() As Integer
Console.WriteLine("Reflection.MethodInfo")
Console.WriteLine()
Dim MyA As New A()
Dim MyB As New B()
'Get the Type and MethodInfo
Dim MyTypea As Type = Type.GetType("A")
Dim Mymethodinfoa As MethodInfo = MyTypea.GetMethod("method")
Dim MyTypeb As Type = Type.GetType("B")
Dim Mymethodinfob As MethodInfo = MyTypeb.GetMethod("method")
'Get and display the Invoke method
Console.WriteLine("First method - {0} returns {1}", MyTypea.FullName, _
Mymethodinfoa.Invoke(MyA, Nothing).ToString())
Console.WriteLine("Second method - {0} returns {1}", MyTypeb.FullName, _
Mymethodinfob.Invoke(MyB, Nothing).ToString())
Return 0
End Function
End Class