试图在方法名中的用户类型之后使用委托调用方法

本文关键字:方法 之后 类型 调用 用户 | 更新日期: 2023-09-27 18:14:49

新手。我试图调用c#中的方法取决于用户输入:例如;

    Console.WriteLine("Enter input:");
    string cmd = Console.ReadLine();

用户键入:Method1或Method2,然后调用该方法。

我不知道如何使用条件语句或大小写切换;我试着用委托来做这个。

这是我开始的内容:

public delegate void RunComm(string arg1, string arg2); 
Console.WriteLine("Enter input:");
string cmd = Console.ReadLine();
RunComm runthis = RunComm(cmd);
public static void Method1(){
//Run Code
}
public static void Method2(){
//Run Code
}

我正在尝试做上面的,我需要它以类似的方式工作,但在阅读和观看在线教程后,我发现上面不起作用。

有人知道为什么吗?如果代表不是这里的答案,有人知道什么是吗?您可以分享任何示例代码吗?

试图在方法名中的用户类型之后使用委托调用方法

这是反射API的一个典型用例(在System.Reflection命名空间中找到)。

  1. 以含Type为例
  2. 找到与您的标准匹配的方法的MethodInfo(在本例中,只有名称)。确保指定了正确的绑定标志(并将它们与|操作符组合)。
  3. 调用该方法。如果是静态方法,则调用null引用。

的例子:

typeof(Container)
    .GetMethod(cmd, BindingFlags.Static | BindingFlags.Public)
    .Invoke(null, new object[0]);

相关文章: