我尝试调用这样的静态方法:
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})