[英]How to pass parameters to LINQ to XML query by using lambda expression?
[英]How to pass action with two parameters using Lambda expression to method?
我有一个类在其构造函数中执行操作。
例:
public CustomClass(Action<Path> insert)
{
// logic here...
}
我目前使用以下代码行实例化此类:
var custom = new CustomClass((o) => LayoutRoot.Children.Add(o));
我想修改自定义类以包含其他构造函数,如下所示:
public CustomClass(Action<Path, TextBlock> insert)
{
// logic here...
}
但是,我对lambda表达式的了解非常基础,所以我无法弄清楚如何实例化自定义类,将操作中的两个参数传递给新构造函数。
任何帮助将不胜感激。
谢谢。
为了将2个参数传递给操作,只需将插入操作定义为Action<T,T2>
,当您调用它时,请执行以下操作:
var custom = new CustomClass((o,u) => {LayoutRoot.Children.Add(o); somethingElse(u)});
在Lamba中,您可以传递两个参数:
(x, y) => { x.DoSomething(); y.DoSomethingElse(); }
你要么问
public CustomClass(Action insert, Action insert2) { // logic here... }
要么
public CustomClass(Action<T1, T2> insert) { // logic here... }
第二个构造函数将接受一个接收2个参数的委托。 所以你可以做点什么
CustomClass class = new CustomClass( (x,y) => DoSomething(x,y) );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.