2012-02-06 61 views
4

我有一个使用Assembly.LoadFrom加载的程序集。这个程序集包含几个静态方法,一旦程序集加载正确,我怎样才能调用它们。如何在使用反射时调用方法?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

namespace ReflectionSandbox 
{ 
    public class Class1 
    { 
     public static void TestAPI() 
     { 
      Console.WriteLine("TestAPI"); 
     } 
    } 
} 
+0

你的意思是程序集包含静态方法在其中的静态类? – Dervall 2012-02-06 14:28:10

+0

@Dervall:为什么班级应该是静态的? – Heinzi 2012-02-06 14:28:54

+0

@海因西:你说得对,没关系。 – Dervall 2012-02-06 14:31:43

回答

5
someAssembly.GetType(someName).GetMethod(someName).Invoke(null, someParameters) 

null是实例(this)参数;静态方法必须为空。

+0

GetType或GetMethod正在返回一个空引用。如果没有传入名称的方法/类型,就会发生这种情况。 – haiyyu 2012-02-06 14:36:54