无论其参数如何,都传递任何功能

时间:2018-03-15 12:46:53

标签: c# .net

假设我有以下三种方法

void Execute(<What to put here?> method)
{
    method();
}

void Function1(string a) { ... }
void Function2(int a) { ... }

如何将指定参数Function1Function2 函数传递给Execute方法?

e.g。像这样

Execute(Function1("Foo"));

但上面的示例是调用函数,我希望它只能在Execute方法中调用。

我希望它清楚,如果它没有,我正在寻找这样的方式:

void Execute(Action method)
{
    method();
}

void Function3() { ... }
然后可以像这样调用

Execute(Function3);

以便在Function3方法中调用Execute,而不是在调用Execute方法时调用Function3。 我希望能够做同样的事情,但将特定参数传递给调用它时应该使用的{{1}}方法

1 个答案:

答案 0 :(得分:12)

简单地制作一个lambda:

Execute(() => Function1("Foo"));