【发布时间】:2016-04-04 08:46:29
【问题描述】:
对不起这个问题:我对 lambda 表达式有点陌生。 我有一个库和一些函数,我想通过它来执行一些操作。因此,我考虑将一些代码放在一个lamba表达式中,将它与一个变量相关联,并让它从库s/r中执行。 简而言之(伪代码):
var1 = { ...code1...};
var2 = { ...code2...};
ExternalFunction(??? var1, ??? var2);
ExternalFunc(??? var1, ???var2)
{
Console.WriteLine("Executing code 1");
???
Console.WriteLine("Executing code 2");
???
}
【问题讨论】:
-
你的意思是像:
Action var1 = () => { ...code1...}; Action var2 = () => { ...code2...}; ExternalFunction(var1, var2);,其中方法被声明为static void ExternalFunc(Action var1, Action var2) { Console.WriteLine("Executing code 1"); var1(); Console.WriteLine("Executing code 2"); var2(); }。这里的类型Action是一个委托类型,其签名为空参数列表,返回类型为void。
标签: c# lambda parameter-passing