一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

用反射调用任意.net库中的方法

时间:2008-01-12 编辑:简简单单 来源:一聚教程网

 
函数如下,有注释,请自行查看:)
注:
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)

热门栏目