本文共 826 字,大约阅读时间需要 2 分钟。
private void btnFindMethod(string pClassName,string pMethodName) { Assembly proj = Assembly.GetExecutingAssembly();//得到当前运行的project程序集 Type tp = proj.GetType(pClassName);//按名稱find指定的类 if (tp == null) return; var objInstance = tp.Assembly.CreateInstance(pClassName); //new a instance,如果是調用靜態類,可以不用新建一個實例,本步可以省略 tp.GetRuntimeMethods().Where (o=>o.Name == pMethodName).ToList ().ForEach (o=> { // 注:本例是 獲取winform的方法,如果是單純類,用 GetMethods()就可以 o.Invoke(objInstance , new object[] { "p1","p2"}); //找到并執行對應的方法.注意參數的數量類型要對應. 如果調用的是靜態類,則invoke的第一個參數為null }); } private void TestMethod(string content,string content1) { MessageBox.Show(content + content1); }
转载地址:http://fpmdi.baihongyu.com/