操作<T1,T2>的麻烦并传递多个参数

Gur*_*epS 4 c# c#-4.0

我有这个代码:

        s(x => x.Open());
Run Code Online (Sandbox Code Playgroud)

s是一个调用一个参数的方法,这是完全正常的,如下所示:

 public void s(Action<p1> action) {}
Run Code Online (Sandbox Code Playgroud)

忽略命名约定,如果我使用如下方法:

 public void s(Action<p1, p2> action) {}
Run Code Online (Sandbox Code Playgroud)

如何传递多个参数?出于兴趣,有没有办法在Action <>中使用params关键字?

另外,我使用的是C#4.0,所以我很想知道它是如何在某种程度上帮助我的.

谢谢

Jar*_*Par 9

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

s( (x,y) => x.Open(y) );
Run Code Online (Sandbox Code Playgroud)