gpt4 book ai didi

c# - 在 C# 中调用由参数确定的方法

转载 作者:行者123 更新时间:2023-12-02 17:09:28 25 4
gpt4 key购买 nike

我有一个想要调用的方法列表,每个方法都有一个按钮,以及一个处理这些按钮的通用方法。

使用 commandArgument 如何运行所选方法。

例如单击运行方法 1 按钮。在按钮单击的处理程序中调用 commandArgument 中指定的方法

最佳答案

为什么不实际使用类似这样的命令模式?

public interface ICommand
{
bool CanExecute(string command);
void Execute();
}

public class MethodACommand : ICommand
{
private MyForm form;
public MethodACommand(MyForm form) {... }

public bool CanExecute(string command) { return command.Equals("MethodA"); }
public void Execute() { form.MethodA(); }
}

public class CommandHandler
{
public CommandHandler(IEnumerable<ICommand> commandString) {...}
public Execute(string command)
{
foreach(var command in Commands)
{
if (command.CanExecute(commandString))
{
command.Execute();
break;
}
}
}
}

protected void Button_Click(object sender, EventArgs e)
{
string arg = ((Button)sender).CommandArgument; // = MethodA
commandHandler.Execute(arg);
}

关于c# - 在 C# 中调用由参数确定的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com