object obj = Assembly.Load(param.AssemblyName).CreateInstance(param.FullClassName, false);
Type type = obj.GetType(); //获取当前对象的实例
MethodInfo mdInfo = type.GetMethod(param.MethodName);
object[] objParams = new object[] //参数数组
{
param.Param
};
DMSResult result = new DMSResult();
result.Result = mdInfo.Invoke(obj, objParams);
请教各位英雄好汉,小第这种反射的方式,会不会性能很差, 说实话我并不知道他到底性能好不好,就在网上找了个DEMO然后自己改改,现在发现好像有点慢,请教大家有没有最好的方式,或者这种方式已经很不错了。
解决方案 »
- 10月份专家榜上榜了,16进制转换成 0和1的字符串 200分来者有分。
- 一个奇怪的问题,关于webBroswer控件的事件触发
- 100分求旋转矩阵公式算法!!!
- 将一张datatable中的值导到excel中,怎么弄?
- C++中的函数在C#中的寻求替代函数
- 如何控件table的宽度
- 关于SQL Server数据库在应用程序中使用的问题
- 如何用c#写站内搜索程序...谢谢
- create trigger XXX on dbo.tableName after 怎么 用正则表达式 取出 XXX
- 怎样把DropDownList数据库捆绑,在DropDownList怎样查到所选数据是第几个?在线等!
- 如何获得一个连接地址的数据
- 给读取除了的TextBox的值 字体加粗后存入数据库
现在我们页面所有的方法调用全部是用反射比如
var obj = ExcuteBizServices("Chiang.BOS.OrderLogic", "Chiang.BOS.OrderLogic.OrderRefundManageLogic", "AddRMARefundRecord", refund);
只要是访问逻辑层的方法全部用反射的方式,因为之前考虑到逻辑层要可以拆分的,所以就用反射,这样可以降低和WEB层的耦合性,但是如果一个页面有调用10个方法,那就要根据不同的类,不同的方法名和程序集去进行反射,可想而知效率是相当的低下呀,有没有什么一种办法只需要反射一次的,比如用反射+缓存 是否可以?