我已经搜索过了,但我真的不知道如何用词来表达问题以获得答案,到目前为止,我找不到任何关于Lambda表达式的嵌套操作的信息。在参数是委托的情况下,我可以找到很多关于将lambda表达式作为参数传递的帮助,事实上,我在代码中做了很多。嵌套的lambda表达式给我带来了问题。
我有一个属性类型为的类
Action<Action<string,int>> myAction
我想给它分配一个Lambda表达式。我可以在没有Lambda表达式的情况下使用代码中其他地方的真实方法来完成这项工作。我也可以做一些简单的事情,比如
myAction = ((a) => { a("a string", 0); });
但我想在一个Lambda中设计子动作和动作。类似。。。
myAction = (((s,i)=>{//sub-action body here})=> { //do something here});
但是这种语法不起作用。有没有一种方法可以做到这一点,或者如果我想这样做,我必须提前定义我的方法,并且在没有Lambda表达式的情况下这样做?
Action<Action<string, int>> myAction = a => (new Action<string, int>((s, i) => Console.WriteLine(i + s)))("hello", 1);
myAction(null); //1hello
Console.ReadLine();
尽管它等于
Action<Action<string, int>> myAction = a => Console.Writeline("1hello");
您只需忽略一个参数