根据方法名执行方法的例子
生活随笔
收集整理的這篇文章主要介紹了
根据方法名执行方法的例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天在講到動態執行方法的時候,我們討論到了Delegate.CreateDelegate的方法。但也有下面這樣的一個更加通用的方法:可以執行任何方法,傳遞任意個數的參數,而無需定義delegate
?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection;namespace ConsoleApplication1 {class Program{static void Main(string[] args){//這個例子演示了如何通過methodInfo動態執行方法MethodInfo mi = typeof(Helper).GetMethod("StaticMethod");mi.Invoke(null, null);//因為是靜態方法,所以第一個參數直接忽略MethodInfo mi2 = typeof(Helper).GetMethod("InstanceMethod");Helper h = new Helper();mi2.Invoke(h, null);//因為是實例方法,所以第一個參數是一個對象實例,第二個參數代表了參數MethodInfo mi3 = typeof(Helper).GetMethod("Math");int result = (int)mi3.Invoke(h, new object[] { 1, 2 });//傳遞參數并接收結果Console.WriteLine(result);Console.Read();}}class Helper {public static void StaticMethod() {Console.WriteLine("靜態方法在執行");}public void InstanceMethod() {Console.WriteLine("實例方法在執行");}public int Math(int a, int b) {return a + b;}} }轉載于:https://www.cnblogs.com/chenxizhang/archive/2010/03/13/1685179.html
總結
以上是生活随笔為你收集整理的根据方法名执行方法的例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net2.0密码强度验证
- 下一篇: 全局容器的创建和使用---单件模式和IO