反射技术继续
来源:互联网 发布:淘宝网店商品发布 编辑:程序博客网 时间:2024/05/27 00:28
假设另一个工程中的所有类都编译到一个dll文件中了,在这很多的类当中,有一个类叫StringUtil,名称空间在HSMP.CommonBasic.Common下
该类中有一个方法:
public double GetSum(double x,double y)
{
return x+y;
}
编译后dll文件的存放路径是:D:/Test/HSMP.CommonBasic.dll
现在的问题是,如何通过程序调用该dll文件中的GetSum方法
大概有以下几步:
using System.Reflection;
A.
//这里要用LoadFrom,只有在本工程里添加了该dll的引用后才可以使用Load
Assembly objAss = Assembly.LoadFrom(@ "D:/Test/HSMP.CommonBasic.dll ");
//HSMP.CommonBasic.Common.StringUtil类的全路径
Type t=objAss.GetType( "HSMP.CommonBasic.Common.StringUtil ");
//动态生成类StringUtil的实例
object obj=System.Activator.CreateInstance(t);
//参数信息,GetSum需要两个int参数,如果方法没有参数,就声明一个长度为0的数组
System.Type[] paramTypes = new System.Type[2];
paramTypes[0] = System.Type.GetType( "System.Int32 ");
paramTypes[1] = System.Type.GetType( "System.Int32 ");
//找到对应的方法
MethodInfo p = t.GetMethod( "GetSum ", paramTypes)
//参数值,如果所调用的方法没有参数,不用写这些
Object[] parameters = new Object[2];
parameters[0] = 3;
parameters[1] = 4;
object objRetval = p.Invoke(obj, parameters); //如果没有参数,写null即可。
- 反射技术继续
- 反射2-继续上篇
- 技术继续改变生活
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 反射技术
- 回来继续我写技术
- 新年了,技术还要继续
- Magento中的Google Analytics插件 - Fooman Google Analytics Plus
- Magento即时流量统计插件 - Magento Clicky Extension
- Magento中的Protx支付方法插件 - Protx Extension
- Cybersource支付网关插件 - Cybersource Extension
- scapy-yield的含义和使用
- 反射技术继续
- 可以提高Magento速度的插件 - Magento Compiler
- Magento中的所见即所得插件 - Fontis WYSIWYG Editor
- risc和cisc在嵌入式设备中的博弈
- C++泛型编程:源起、实现与意义
- 产品图片重设插件(不会变形) - Resize images proportionally
- 从OsCommerce导入数据到Magento中的插件 - osCommerce Migration Tool
- 从OsCommerce导入数据到Magento中的插件 - osCommerce Migration Tool
- 整合Wordpress到Magento的插件 - Lazzymonks Wordpress Integration