C# LINQ:在选择创建中分配事件处理程序
我有一个LINQ语句,它创建了许多项C# LINQ:在选择创建中分配事件处理程序,c#,linq,C#,Linq,我有一个LINQ语句,它创建了许多项 From x in datasource select (Customer) new BusinessCustomer(x.SomeThing) 我需要设置BusinessCustomer.OnTapped事件处理程序 这可以在LINQ语句中完成吗?如果可以修改BusinessCustomer类,则可以添加一个构造函数,该构造函数接受OnTapped事件的处理程序委托 如果您不能或不想修改BusinessCustomer来执行此操作,您可以使用一个h
From x in datasource
select (Customer) new BusinessCustomer(x.SomeThing)
我需要设置BusinessCustomer.OnTapped事件处理程序
这可以在LINQ语句中完成吗?如果可以修改
BusinessCustomer
类,则可以添加一个构造函数,该构造函数接受OnTapped
事件的处理程序委托
如果您不能或不想修改BusinessCustomer
来执行此操作,您可以使用一个helper方法,该方法还允许您消除强制转换
private Customer CreateBusinessCustomer(Thing thing, EventHandler tapHandler)
{
var customer = new BusinessCustomer(thing);
customer.OnTapped = tapHandler;
return customer;
}
private void Customer_OnTapped(object sender, EventArgs e)
{
// do something
}
现在,您的查询如下所示:
from x in datasource
select CreateBusinessCustomer(x.SomeThing, Customer_OnTapped)
不,它不能也不应该。写一个循环。添加助手方法。无论什么LINQ应该用于执行查询,而不是修改内容。