首页 > Windows开发 > 详细

C# 反射调用重载方法

时间:2021-07-12 22:32:01      阅读:27      评论:0      收藏:0      [点我收藏+]

准备一个类

 1 public class MethodCLass
 2     {
 3         public void Method()
 4         {
 5             Console.WriteLine($"无参方法");
 6             return;
 7         }
 8 
 9         public void Method(int arg)
10         {
11             Console.WriteLine($"整数类型的方法-{arg}");
12         }
13 
14         public void Method(string arg)
15         {
16             Console.WriteLine($"字符串类型的方法-{arg}");
17         }
18 
19         public void Method(string arg1, int arg2)
20         {
21             Console.WriteLine($"两个参数的方法-{arg1}=={arg2}");
22         }
23     }

准备一个方法

1 private static void InvokeMethod<T>(object obj, T arg)
2         {
3             var method = obj.GetType().GetMethod("Method", new Type[] { typeof(T) });
4             method.Invoke(obj, new object[] { arg });
5         }

运行

1 private static void Main(string[] args)
2         {
3             var obj = Activator.CreateInstance(typeof(MethodClass));
4 
5             InvokeMethod(obj, "xxhh");
6             InvokeMethod(obj, 123);
7         }

 

运行结果

字符串类型的方法-xxhh
整数类型的方法-123

 

C# 反射调用重载方法

原文:https://www.cnblogs.com/AtTheMoment/p/15003607.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!