我有这段代码:
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,所以我很想看看它是如何帮助我的。
由于
答案 0 :(得分:9)
如果要将多个参数传递给C#中的lambda表达式,则需要用parens括起参数。例如
s( (x,y) => x.Open(y) );
答案 1 :(得分:2)
s((x, y) => ...);