[英]Call a static method of a static class using reflection
我試圖像這樣調用 static 方法:
Assembly myAssembly = Assembly.LoadFrom(filePath);
Type Mytype = myAssembly.GetType("MyClass");
string returnedValue = Mytype.GetMethod("MyMethod").Invoke(null, null).ToString();
MessageBox.Show(returnedValue);
但我收到此錯誤:Object 引用未設置為 object 的實例。
internal static class MyClass
{
internal static string MyMethod(int param1)
{
return "HI"
}
}
請幫我解決這個問題,問候。
首先,您需要傳遞正確的BindingFlags
以便可以找到您的方法:
var methodInfo = typeof(MyClass).GetMethod("MyMethod",
BindingFlags.Static |
BindingFlags.NonPublic);
然后您需要將正確的參數傳遞給Invoke
function:
methodInfo.Invoke(null, new object [] {1})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.