首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >无法将lambda表达式分配给匿名类型属性。

无法将lambda表达式分配给匿名类型属性。
EN

Stack Overflow用户
提问于 2017-08-09 16:30:26
回答 1查看 1.3K关注 0票数 1

为什么我不能将Func<MyModel,bool>类型的参数从Html.Action传递给我的Controller?当我尝试以下代码时,会出现如下错误:

代码语言:javascript
代码运行次数:0
运行
复制
public PartialViewResult MyMethod(Func<MyModel,bool> lambda)
{
}

在Razor:

代码语言:javascript
代码运行次数:0
运行
复制
@{var result = Html.Action("MyMethod", "MyController" , new { lambda = c => !c.Checked});}

错误:

无法将lambda表达式分配给匿名类型属性。

这不是一个重复的问题,因为这个问题是在寻找为什么会发生这种情况,但我正在寻找一个解决方案。

EN

回答 1

Stack Overflow用户

发布于 2021-06-03 05:36:17

代码语言:javascript
代码运行次数:0
运行
复制
@{ var result = Html.Action("MyMethod", "MyController", new { lambda = new Func<Model,bool>( c => !c.Checked) }); }

您可以通过在构造函数中传递lambda来分配新的Func类型对象。不允许将lambda或匿名方法分配给匿名属性,因为从lambda或匿名方法中我们无法明确推断委托的类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45596132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档