我尝试使用linq在代码中获取故事板数据并尝试使用where子句:
Where(
delegate (abc<VisualStateGroup, VisualState> xyz)
{ return (xyz.state.Name == "PopupOpened");}
)
它给了我错误:
匿名方法表达式不能 转换为表达式树
如何为这种情况编写正确的where子句?
答案 0 :(得分:2)
使用lambda:
Where(xyz => xyz.state.Name == "PopupOpened");
答案 1 :(得分:1)
只需使用lambda表达式:
.Where( xyz => xyz.state.Name == "PopupOpened" );
如果您不需要将操作作为表达式树,您也可以将其写为匿名委托,但它会更详细。
正如@itowlson所说,如果你在期望表达式树的上下文中使用它,你必须提供一个lamda,因为只有lambdas可以转换成表达式树 - 匿名委托不能。