操作麻烦<t1,t2 =“”>并传递多个参数</t1,>

时间:2010-03-27 19:42:07

标签: c# c#-4.0

我有这段代码:

        s(x => x.Open());

s是一个调用一个参数的方法,完全没问题,如下所示:

 public void s(Action<p1> action) {}

忽略命名约定,如果我按如下方式制作方法:

 public void s(Action<p1, p2> action) {}

如何传递多个参数?出于兴趣,有没有办法在Action&lt;&gt;?

中使用params关键字

另外,我正在使用C#4.0,所以我很想看看它是如何帮助我的。

由于

2 个答案:

答案 0 :(得分:9)

如果要将多个参数传递给C#中的lambda表达式,则需要用parens括起参数。例如

s( (x,y) => x.Open(y) );

答案 1 :(得分:2)

s((x, y) => ...);