System.Reflection

摘要:System.Reflection

在下面這一篇看到了一篇有興趣的文章,原文是不使用判斷的方式,如何依變數值呼叫不同的function?,跟反映有些關係,改天比較有時間再來好好研究一下這個部分,下面這邊是實做的程式碼,目前只有呼叫Sub的部分,呼叫Function與取回傳回值得部分還要再去看一下,有興趣的朋友可以參考看看

  1. Imports System.Reflection  
  2.   
  3. Public Class Form1  
  4.     Dim arg() As Object  
  5.   
  6.     Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgs) Handles Button1.Click  
  7.         Me.GetType().InvokeMember("ShowMsg", BindingFlags.Instance Or BindingFlags.InvokeMethod Or BindingFlags.NonPublic Or BindingFlags.PublicNothingMe, arg)  
  8.     End Sub  
  9.   
  10.     Private Sub ShowMsg()  
  11.         MessageBox.Show("Hello")  
  12.     End Sub  
  13.   
  14.     Private Function myShowMsg() As String  
  15.         MessageBox.Show("Hello")  
  16.         Return ""  
  17.     End Function  
  18. End Class