您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
小编给大家分享一下C#高效反射调用方法类的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
C#高效反射调用方法类
1.创建一个业务类(HomeService),在类下创建3个方法
2.正常方式调用类的方法
3.反射方式调用类的方法
4.调用代码
5.调用结果
6.Service类方法代码
内容扩展:
1、正常方式调用类的方法
/// <summary> /// 正常调用类的方法(parm1) /// </summary> /// <returns></returns> public string GetNormalMethod_2() { HomeService service = new HomeService(); //调用有参方法(name) string result = service.SayHello("李天"); //输出调用信息 string strs = GetInvokeInfo("SayHello(string name)", result); return strs; }
2、反射方式调用类的方法
/// <summary> /// 通过反射调用类的方法(SayHello(string name)) /// </summary> public string GetInvokeMethod_2() { // 1.Load(命名空间名称),GetType(命名空间.类名) Type type = Assembly.Load("StudyInvokeMethod").GetType("StudyInvokeMethod.HomeService"); //2.GetMethod(需要调用的方法名称) MethodInfo method = type.GetMethod("SayHello", new Type[] { typeof(string) }); // 3.调用的实例化方法(非静态方法)需要创建类型的一个实例 object obj = Activator.CreateInstance(type); //4.方法需要传入的参数 object[] parameters = new object[] { "李天"}; // 5.调用方法,如果调用的是一个静态方法,就不需要第3步(创建类型的实例) // 相应地调用静态方法时,Invoke的第一个参数为null string result = (string)method.Invoke(obj, parameters); //输出调用信息 string strs = GetInvokeInfo("SayHello(string name)", result); return strs; }
以上是“C#高效反射调用方法类的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。