c# - 为什么在DisplayNameFor()中需要lambda表达式?

标签 c# asp.net-mvc

对于示例代码:

<th>@Html.DisplayNameFor(model => model.Artist.Name)</th>


为什么根本需要lambda表达式?为什么不能只是

<th>@Html.DisplayNameFor(model.Artist.Name)</th>

最佳答案

这是使用表达式树的骗术。

第一种在运行时构造一个表达式树,允许该方法进入并找到要访问的成员(从而获得其所有属性)。

第二种方法只是将Name的值传递给方法。

关于c# - 为什么在DisplayNameFor()中需要lambda表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32621061/

相关文章:

jQuery DataTable 无法在 ASP.NET MVC 中工作?

c# - 如何消除可空 boolean 值的使用

javascript - ASP.net MVC 在登录时运行 Javascript 函数

c# - 类与公共(public)类

c# - 在不释放空间的情况下隐藏代码中的控件

javascript - 使用 Ajax Post 更新模型

jQuery UI 自动完成自定义对象作为源而不是字符串数组

javascript - 如何使用ajax从 Controller 返回HTML?

c# - 为什么在 C# 中将委托(delegate)分配给本地副本线程安全,任何代码都可以证明这一点?

c# - HP Fortify 路径操作验证规则