c#反射
作者:互联网
namespace _20190710 { class Class1 { static Object obj; static Dictionary<string, MethodInfo> dic = new Dictionary<string, MethodInfo>(); public static void addEventListener(string className, string priex = "do") { //string classname = "_20190710.A"; //根据字符串类名,获取该类的类型 Type t = Type.GetType(className); //创建对象 obj = Activator.CreateInstance(t); //获得所有方法,返回一个方法数组 //或者返回单个方法MethodInfo m = t.GetMethod(str); MethodInfo[] m = t.GetMethods(); //取出所有指定开头的方法 for (int i = 0; i < m.Length; i++) { MethodInfo mth = m[i]; if (mth.Name.StartsWith(priex)) { dic.Add(mth.Name, mth); Console.WriteLine(mth.Name); } } } public static void dispatchEvent(string methodName) { if (dic.ContainsKey(methodName)) { MethodInfo method = dic[methodName]; method.Invoke(obj, null); } } }
标签:反射,string,c#,dic,mth,static,MethodInfo,Name 来源: https://www.cnblogs.com/XianCao/p/11166113.html