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

VB.Net
1. 2D
2. Application
3. Class
4. Data Structure
5. Database ADO.net
6. Development
7. Event
8. File Directory
9. Generics
10. GUI
11. Language Basics
12. Network Remote
13. Thread
14. Windows System
15. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
VB.Net » Development » ReflectionScreenshots 
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 - 1As Object
            Dim CallMethod As Boolean = True

            Dim 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 (CallMethodThen
                If MethodObj.GetParameters().Length = 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 IntegerAs 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
w___w__w___.___j__a__va__2s.c___om | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.