MethodInfo.GetParameters() : MethodInfo « System.Reflection « VB.Net by API






MethodInfo.GetParameters()

  
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

   
    
  








Related examples in the same category

1.MethodInfo.GetCustomAttributes
2.MethodInfo.Invoke
3.MethodInfo.Name