我有一个方法,GetData(),我想根据字符串参数动态交换它的名字。
第一件事是从字符串参数MethodName获取方法。
var methodinfo = repository.GetType().GetMethod("MethodName");
现在,如何使用methodinfo中提取的动态值替换下面的GetData()方法?
var argumentType = repository.GetData().GetType().GetGenericArguments()[0];
我试过这样的事情,但没有工作:
var argumentType = methodinfo.GetType().GetGenericArguments()[0];
答案 0 :(得分:1)
如果我理解你的问题,你需要这样的事情:
public class ProgChoice
{
public static void ProgSelection()
{
Assembly assembly = Assembly.GetExecutingAssembly();
Type t = assembly.GetType("ProgChoice.ProgSelection", false, true);
string lcProgStr = "Prog";
int liProgNumb = 4;
// Concatenate the 2 strings
lcProgStr = lcProgStr + liProgNumb.ToString();
MethodInfo method = t.GetMethod(lcProgStr);
method.Invoke(null, null);
Console.ReadKey();
}
}