All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
PHP实例:PHP天气查询_[PHP教程]
初学者阅读:给初学.net的您几点建议_.net资料_编程技术
Mysql中limit的用法详解_mssql学习_编程技术
SQL,Server,安装,(SQL,Server,2008,R2)_mssql学习_编程技术
Ajax标签导航实例详解-CSS技巧篇_[AJAX教程]
ASP.NET&Spring.NET&NHibernate最佳实践(二)——第1章前言_[Asp.Net教程]
基于Gettext的asp.net网站多语言解决方案_.net资料_编程技术
HTML语言剖析(十三)其他标记_[Html教程]_0
SQL大全[2]_mssql学习_编程技术
ASP.NET,表单验证
Reading number is top 10 pictures
Beautiful vacuum girl2
NeedWallpaper9
治疗多发性骨髓瘤的特效药,一万二一支
NeedWallpaper11
Born After 90 Beijing sports university campus flower photos3
China's first snake village3
PengLiYuan lady for the world health organization fight TB and AIDS goodwill ambassador
教你22句话
无题
漂亮脸蛋魔鬼身材1
Download software ranking
asp.netWeb服务器高级编程
Tram sex maniac 2 (H) rar bag14
Ashlynn Video1
Unix video tutorial12
Tram sex maniac 2 (H) rar bag16
Ashlynn Video4
Unix video tutorial14
matrix1
jBuilder2006
Desire a peach blossom
delv published in(发表于) 2014/1/10 6:32:55 Edit(编辑)
用反射调用任意.net库中的方法_[Asp.Net教程]

用反射调用任意.net库中的方法_[Asp.Net教程]

用反射调用任意.net库中的方法_[Asp.Net教程]

函数如下,有注释,请自行查看:)
注:
1、ReturnMessage 是我自写的一个类,作用请查看我的其他文章,我也把这个类一并附在后面
2、通过NameSpaceAndClassName和MethodName实际上就可以精确定位一个方法了如调用abc.dll里的namespace1.Class1.Main,调用起来就是CallAssembly("abc.dll","namespace1.Class1","Main",null)

public static ReturnMessage CallAssembly(string Path,string NameSpaceAndClassName,string MethodName,object[] Parameters)
{
try
{
Assembly Ass=Assembly.LoadFrom(Path);//调入文件(不限于dll,exe亦可,只要是.net)
Type TP=Ass.GetType(NameSpaceAndClassName);//NameSpaceAndClassName是"名字空间.类名",如"namespace1.Class1"
MethodInfo MI=TP.GetMethod(MethodName);//MethodName是要调用的方法名,如"Main"
object MeObj=System.Activator.CreateInstance(TP);
MI.Invoke(MeObj,Parameters);//Parameters是调用目标方法时传入的参数列表
return new ReturnMessage(true,"成功调用",1);
}
catch(Exception e)
{
return new ReturnMessage(false,"出现异常,消息为:"+e.Message,-1,e);
}
}

附ReturnMessage
public class ReturnMessage
{
public ReturnMessage()
{
this.m_Succeed=false;
this.m_Message="";
this.m_Code=-1000;
this.m_Data=null;
}
public ReturnMessage(bool IsSucceed)
{
this.m_Succeed=IsSucceed;
}
public ReturnMessage(bool IsSucceed,string Message)
{
this.m_Succeed=IsSucceed;
this.m_Message=Message;
}
public ReturnMessage(bool IsSucceed,string Message,int Code)
{
this.m_Succeed=IsSucceed;
this.m_Message=Message;
this.m_Code=Code;
}
public ReturnMessage(bool IsSucceed,string Message,int Code,object Data)
{
this.m_Succeed=IsSucceed;
this.m_Message=Message;
this.m_Code=Code;
this.m_Data=Data;
}
public ReturnMessage(bool IsSucceed,string Message,int Code,object Data,object[] Datas)
{
this.m_Succeed=IsSucceed;
this.m_Message=Message;
this.m_Code=Code;
this.m_Data=Data;
this.m_Datas=Datas;
}
//
bool m_Succeed;
string m_Message;
int m_Code;
object m_Data;
object[] m_Datas;
public bool Succeed
{
get{return m_Succeed;}
set{m_Succeed=value;}
}
public string Message
{
get{return m_Message;}
set{m_Message=value;}
}
public int Code
{
get{return m_Code;}
set{m_Code=value;}
}
public object Data
{
get{return m_Data;}
set{m_Data=value;}
}
public object[] Datas
{
get{return m_Datas;}
set{m_Datas=value;}
}
}


来源:网络







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.