自动加载dll,加载dll中程序集的信息。

 自动加载程序集,解析程序集中的方法。

 1  private static object Invoke(string lpFileName, string Namespace, string ClassName, string lpProcName, object[] ObjArray_Parameter)
 2 
 3         {
 4 
 5             try
 6             { // 载入程序集
 7 
 8                 Assembly MyAssembly = Assembly.LoadFrom(lpFileName);
 9 
10                 Type[] type = MyAssembly.GetTypes();
11 
12                 foreach (Type t in type)
13 
14                 {// 查找要调用的命名空间及类
15 
16                     if (t.Namespace == Namespace && t.Name == ClassName)
17 
18                     {// 查找要调用的方法并进行调用
19 
20                         MethodInfo m = t.GetMethod(lpProcName);
21 
22                         if (m != null)
23 
24                         {
25                             object o = Activator.CreateInstance(t);
26 
27                             return m.Invoke(o, ObjArray_Parameter);
28 
29                         }
30                         else Console.WriteLine(" 装载出错 !");
31                     }
32 
33                 }
34 
35             }//try
36 
37             catch (System.NullReferenceException e)
38 
39             {
40 
41                 Console.WriteLine(e.Message);
42 
43             }//catch
44 
45             return (object)0;
46 
47         }// Invoke
View Code

 

posted @ 2017-01-03 16:38  静思长远  阅读(261)  评论(0编辑  收藏  举报