.Net反射技术应用解决对象不同版本方法不同参数的问题
来源:互联网 发布:mac 搜狗输入法不见了 编辑:程序博客网 时间:2024/05/16 19:29
在调用Office的时候,我们发现Office2003与Office2000的一个方法参数个数不同,这样导致我们不能够使用正常手段调用该方法,采用反射技术可以轻松解决问题。以下是我写的应用反射技术调用对象方法之简单原型。
using System;
using System.Reflection;
public class Invoker
{
public static void Main()
{
System.Type myType = System.Type.GetType("Demo");//取得系统类型
object obj = Assembly.GetAssembly(myType).CreateInstance("Demo");//创建实例
MethodInfo method = myType.GetMethod("PrintLine");//提取方法信息
method.Invoke(obj, new object[]{"Rookie", 27});//调用方法
method = myType.GetMethod("PrintLine2");//提取另外一个方法,实际应用中是根据不同版本取得同一个方法,而构造不同参数数组
method.Invoke(obj, new object[]{"Rookie", 27, "Rookie personal information."});//调用方法
}
}
public class Demo
{
public Demo()
{
}
//实际应用中老版本的方法
public void PrintLine(string name, int age)
{
System.Console.WriteLine("Name = " + name + "; Age = " + age.ToString());
}
//实际应用中升级版本的方法(名称相同,只是参数个数不同)
public void PrintLine2(string name, int age, string description)
{
System.Console.WriteLine("Name = " + name + "; Age = " + age.ToString() + "; Description = " + description);
}
}
关于该文章讨论请到http://202.102.53.36/user3/rookieport/main.asp?id=1377826
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- Net反射技术应用解决对象不同版本方法不同参数的问题
- Net反射技术应用解决对象不同版本方法不同参数的问题(转)
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- Factory方法解决网站应用不同数据库的问题
- 解决python不同版本共享的问题:
- 反射应用:比较两个对象属性的不同
- java通过反射调用不同参数的方法
- Android中不同Activity之间传递自定义对象的参数问题的解决
- Swagger2 (4)针对于相同url headers 参数不同映射不同的方法问题(已解决)
- 不同版本Hidernate获得SessionFactory对象的方法
- 不同版本Hidernate获得SessionFactory对象的方法
- 2003 下IIS对不同版本的.Net FrameWork 问题
- 解决ADO不同PC版本问题
- java通过反射,只需要传了类名和参数,就可以根据不同参数的构造方法实例化对象
- 解决SQLserver不同版本的兼容问题
- 针对不同.NET版本的条件编译
- XML在Web中的简单应用
- 在ASP中使用简单Java类
- Javascript制作进度条
- MSDESP3安装手记
- 内存转换Image到Icon格式
- .Net反射技术应用解决对象不同版本方法不同参数的问题
- C#调出Outlook界面并发送指定附件
- JACOB技术探讨之一
- C++通过http下载二进制文件
- 处理Foxmail垃圾邮件数据文件被杀毒软件删除问题
- 迷宫求解的过程演示
- C++学习要点
- 使用CB的技巧来解决VC中动态绑定事件
- 在.NET Framework中轻松处理XML数据(一)