您的位置:首页 > 其它

利用.net反射动态调用指定程序集的中的方法

2012-09-17 14:03 537 查看
每个.net程序集除了代码外都额外包含了元数据。元数据包括了程序集本身的信息,比如版本号,引用了什么程序集,所有类型的信息,包括其方法、属性、字段。使用.net反射,可以在运行时读取这些信息,并且可以动态地调用方法。

通过Assembly.LoadFrom方法返回的Assembly对象,可以读取其中的元数据。其中的GetType会返回一个用于表示指定程序集的type对象(读取程序集中的所有类型用GetTypes会返回一个type对象的数组)。

返回方法信息(公共方法)

MethodInfo mi = T.GetMethod("getList");

根据前面type类型创建一个对象

object o = Activator.CreateInstance(T);

参数

object[] par = new object[] { "E01" };

通过MethodInfo对象的Invoke方法,动态调用此方法,参数o是因为实例方法需要在调用时有一个实例存在.

DataTable dt = (DataTable)mi.Invoke(o, par);

调用返回的数据显示列表中。

示例下载:http://www.cnblogs.com/Files/NetFans/Solution2.rar

本篇文章来源于 站长资讯网 原文链接:http://www.chinahtml.com/0701/aspnet-116822669010203.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: