试图在方法名中的用户类型之后使用委托调用方法
本文关键字:方法 之后 类型 调用 用户 | 更新日期: 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
命名空间中找到)。
- 以含
Type
为例 - 找到与您的标准匹配的方法的
MethodInfo
(在本例中,只有名称)。确保指定了正确的绑定标志(并将它们与|
操作符组合)。 调用该方法。如果是静态方法,则调用
null
引用。的例子:
typeof(Container)
.GetMethod(cmd, BindingFlags.Static | BindingFlags.Public)
.Invoke(null, new object[0]);