C# 通过反射执行已存在于类中的方法 通过字符串执行方法
2021-05-23 15:30
标签:invoke mst 线程 链接 you binding new 不同方法 get 通过字符串执行方法,在可能会调用不同方法时对不同方法进行调用 以下为实例: 文档:Type.note C# 通过反射执行已存在于类中的方法 通过字符串执行方法 标签:invoke mst 线程 链接 you binding new 不同方法 get 原文地址:https://www.cnblogs.com/dreamhero/p/11136235.html 1 public class ABC
2 {
3 string str = "通过反射执行的方法";
4 //Class:要反射的Method所在类名
5 Type type = typeof(Class);
6 //funcName:进行反射的方法名称,第二个参数指定方法的搜索范围,当前为搜索private的方法,没有第二个参数则为public的方法
7 MethodInfo mt = type.GetMethod("funcName",BindingFlags.NonPublic | BindingFlags.Instance);
8 object instance = Activator.CreateInstance(t);
9 //执行到反射成功的方法上
10 mt.Invoke(instance,new object[]{ paramster });
11
12 //被反射执行到的方法
13 void funcName(object paramster)
14 {
15 //如果想要使用ABC类中的变量则需要在调用Invoke()时第一个参数置为ABC的实例而非instance
16 //实例:this
17 string a = str;
18 }
19 }
20
21 public class CBA
22 {
23 string str = "通过反射执行的方法";
24 //被反射执行到的方法
25 public void funcName(object paramster)
26 {
27 //如果想要使用ABC类中的变量则需要在调用Invoke()时第一个参数置为ABC的实例而非instance
28 //实例:new CBA()
29 string a = str;
30 }
31 }
结合线程使用: 链接:http://note.youdao.com/noteshare?id=baaca71b2653e8eb6a69b4ac67af9bce
文章标题:C# 通过反射执行已存在于类中的方法 通过字符串执行方法
文章链接:http://soscw.com/index.php/essay/88278.html