Development VB.Net

Imports System.Reflection
Public Class MainClass
   Public Shared Sub Main()
        Dim SomeObj = New Demo()
        Dim IntegerVar As Integer = 1
        Dim DoubleVar As Double = 100.0
        Dim StringVar As String = "Hello"
        Dim Param As ParameterInfo
        Dim MethodObj As System.Reflection.MethodInfo
        For Each MethodObj In SomeObj.GetType.GetMethods()
            Dim Parameters(MethodObj.GetParameters().Length - 1) As Object
            Dim CallMethod As Boolean = True
            Dim I As Integer = 0
            For Each Param In MethodObj.GetParameters()
                If Equals(Param.ParameterType, IntegerVar.GetType()) Then
                    Parameters(I) = IntegerVar
                ElseIf Equals(Param.ParameterType, DoubleVar.GetType()) Then
                    Parameters(I) = DoubleVar
                ElseIf Equals(Param.ParameterType, StringVar.GetType()) Then
                    Parameters(I) = StringVar
                Else
                    CallMethod = False
                End If
                I = I + 1
            Next
            If (CallMethod) Then
                If MethodObj.GetParameters().Length = 0 Then
                    Console.WriteLine("Calling: " & MethodObj.Name)
                    Console.WriteLine(MethodObj.Invoke(SomeObj, Nothing))
                Else
                    Console.WriteLine("Calling: " & MethodObj.Name)
                    Console.WriteLine(MethodObj.Invoke(SomeObj, Parameters))
                End If
            End If
            Console.WriteLine()
        Next
   
   End Sub
End Class 
    Class Demo
        Public Sub Hello()
        End Sub
        Public Sub ShowMessage(ByVal Msg As String)
        End Sub
        Public Function AddTwoIntegers(ByVal A As Integer, ByVal B As Integer) As Integer
        End Function
        Public Sub ShowThreeDoubles(ByVal A As Double, ByVal B As Double, ByVal C As Double)
        End Sub
    End Class