Get Method information and invoke Method using Reflection API : Reflection « Development « VB.Net






Get Method information and invoke Method using Reflection API

Get Method information and invoke Method using Reflection API
  
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.Reflection Information for Integer ClassReflection Information for Integer Class
2.Fill Reflection Data into ListViewFill Reflection Data into ListView
3.Use Reflection to create Class instance and call methodUse Reflection to create Class instance and call method
4.Define Attributes and Use Reflection to get its valueDefine Attributes and Use Reflection to get its value
5.Get Method InformationGet Method Information
6.Get Class Member and Property Information from base and inherited ClassGet Class Member and Property Information from base and inherited Class
7.Reflection: display the member of Form ClassReflection: display the member of Form Class
8.Reflector Utilities
9.The AssemblyCopyrightAttribute sets the Copyright field on the Version tab.
10.The AssemblyDescriptionAttribute sets the Comment item.
11.The AssemblyCompanyAttribute sets the Company item
12.The AssemblyProductAttribute sets the Product Name item
13.Define the assembly's only module. For a single-file assembly, the module name is the assembly name.
14.The AssemblyTitleAttribute sets the Description field on the General tab and the Version tab of the Windows file properties dialog.