我正在使用公共静态类和静态方法及其参数:
public static class WLR3Logon
{
static void getLogon(int accountTypeID)
{}
}
Run Code Online (Sandbox Code Playgroud)
现在我尝试将其参数的方法提取到另一个类并使用以下代码:
MethodInfo inf = typeof(WLR3Logon).GetMethod("getLogon",
BindingFlags.Static | BindingFlags.Public | BindingFlags.FlattenHierarchy);
int[] parameters = { accountTypeId };
foreach (int parameter in parameters)
{
inf.Invoke("getLogon", parameters);
}
Run Code Online (Sandbox Code Playgroud)
但它给了我错误
"你调用的对象是空的."
我哪里出错了.
new*_*per 14
使用以下方法解决了此问题:
using System.Reflection;
string methodName = "getLogon";
Type type = typeof(WLR3Logon);
MethodInfo info = type.GetMethod(
methodName,
BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy);
object value = info.Invoke(null, new object[] { accountTypeId } );
Run Code Online (Sandbox Code Playgroud)
这里有很多问题