我有这个代码:
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,所以我很想知道它是如何在某种程度上帮助我的.
谢谢
如果要将多个参数传递给C#中的lambda表达式,则需要用parens括起参数.例如
s( (x,y) => x.Open(y) );
Run Code Online (Sandbox Code Playgroud)