如何使用Lambda表达式将两个参数传递给方法?

Chr*_*ris 9 c# silverlight lambda

我有一个类在其构造函数中执行操作.

例:

public CustomClass(Action<Path> insert)
{

  // logic here...

}
Run Code Online (Sandbox Code Playgroud)

我目前使用以下代码行实例化此类:

var custom = new CustomClass((o) => LayoutRoot.Children.Add(o));
Run Code Online (Sandbox Code Playgroud)

我想修改自定义类以包含其他构造函数,如下所示:

public CustomClass(Action<Path, TextBlock> insert)
{

  // logic here...

}
Run Code Online (Sandbox Code Playgroud)

但是,我对lambda表达式的了解非常基础,所以我无法弄清楚如何实例化自定义类,将操作中的两个参数传递给新构造函数.

任何帮助将不胜感激.

谢谢.

Fra*_*ega 11

为了将2个参数传递给操作,只需将插入操作定义为Action<T,T2>,当您调用它时,请执行以下操作:

var custom = new CustomClass((o,u) => {LayoutRoot.Children.Add(o); somethingElse(u)});
Run Code Online (Sandbox Code Playgroud)


Ton*_*ion 6

在Lamba中,您可以传递两个参数:

(x, y) => { x.DoSomething(); y.DoSomethingElse(); }
Run Code Online (Sandbox Code Playgroud)