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#管道式编程的介绍与实现
栏 目:C#教程
本文标题:C#高效反射调用方法类实例详解
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/4709.html
您可能感兴趣的文章
- 01-10C#通过反射获取当前工程中所有窗体并打开的方法
- 01-10C#调用dos窗口获取相关信息的方法
- 01-10C#利用反射技术实现去掉按钮选中时的边框效果
- 01-10同步调用和异步调用WebService
- 01-10C#调用WebService实例开发
- 01-10C++调用C#的DLL程序实现方法
- 01-10C# 调用 JavaWebservice服务遇到的问题汇总
- 01-10dotNet中的反射用法入门教程
- 01-10基于C#实现手机号码归属地接口调用
- 01-10C#使用Process类调用外部exe程序
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10delphi制作wav文件的方法
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11ajax实现页面的局部加载