使用反射,如何得到或使用重载函数

lansingcy 2003-09-10 05:12:07
如题,

有空在帮俺看看http://expert.csdn.net/Expert/topic/2243/2243851.xml?temp=.508999
...全文
130 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixigongzhu 2003-09-10
  • 打赏
  • 举报
回复
假如有个test的类,定义了方法aa,有两个重载,一个没参数,一个参数int,都是静态的。test放在test.dll内。
Assembly ass = Assembly.LoadFrom("test.dll");
Type t = ass.GetType("test");
MethodInfo mi = t.GetMethod("aa", new Type[]{typeof(int)});
mi.Invoke(null, new Object[]{5});
xixigongzhu 2003-09-10
  • 打赏
  • 举报
回复
如果类test里定义了2个aa方法,第一个没参数,第二个有个int类型的参数,并且都是静态的,test放在test.dll里:
Assembly ass = Assembly.LoadFrom("test.dll");
Type t = ass.GetType("test");
MethodInfo mi = t.GetMethod("aa", new Type[]{typeof(int)});
mi.Invoke(null, new Object[]{5});
这样就可以得到这个方法。

如果有重载必须根据参数类型去得到这个方法,否则会出异常。

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧