我有一个带有参数的函数,我想使用Action将它作为参数调用到另一个函数中。这是代码:
public void msg(string name) { MessageBox.Show("Hello " + name); } public void CallMethod(Action
Method
使用msg参数调用函数时,它给我一个错误:
private void Form1_Load(object sender, EventArgs e) { CallMethod(msg("John")); }
我不想像这样在Method函数中发送参数:
public void CallMethod(Action
有什么帮助吗?
您可以使用参数创建通用方法:
public void CallMethod(Action Function, T parameter) { ... Function(parameter); ... }
并像这样使用它:
CallMethod(msg, "John");
另一种可能性是使用lambda传递委托:
public void CallMethod(Action action) { ... action(); ... }
用法:
CallMethod(() => msg("John"));