C# 使用反射调用静态类的静态方法

C# 使用反射调用静态类的静态方法,c#,reflection,C#,Reflection,我尝试调用如下静态方法: Assembly myAssembly = Assembly.LoadFrom(filePath); Type Mytype = myAssembly.GetType("MyClass"); string returnedValue = Mytype.GetMethod("MyMethod").Invoke(null, null).ToString(); MessageBox.Show(returnedValue); 但我得到了这个错误:对象引用没有设置为对象的实例

我尝试调用如下静态方法:

Assembly myAssembly = Assembly.LoadFrom(filePath);
Type Mytype = myAssembly.GetType("MyClass");
string returnedValue = Mytype.GetMethod("MyMethod").Invoke(null, null).ToString();
MessageBox.Show(returnedValue);
但我得到了这个错误:对象引用没有设置为对象的实例

internal static class MyClass
{
internal static string MyMethod(int param1)
{
return "HI"
}
}

请帮助我解决此问题,尊敬。

首先,您需要传递正确的
BindingFlags
,以便找到您的方法:

var methodInfo = typeof(MyClass).GetMethod("MyMethod", 
                                           BindingFlags.Static |
                                           BindingFlags.NonPublic);
然后需要将正确的参数传递给
Invoke
函数:

methodInfo.Invoke(null, new object [] {1})