- Tìm số 0 đầu tiên trong một mảng bit
- Unix Hiển thị thông tin về các tập tin khớp với một trong hai mẫu
- Biểu thức chính quy thay thế nhiều tệp
- Ẩn lệnh từ xtrace
m.SomeProperty)?-6ren"> m.SomeProperty)?-例如,在 MVC 应用程序中,我可以使用 Html 助手来创建这样的标签: @Html.LabelFor(m => m.ProductName) 我没有在任何地方声明变量“m”,但 IDE 会自动找出-6ren">
例如,在 MVC 应用程序中,我可以使用 Html 助手来创建这样的标签:
@Html.LabelFor(m => m.ProductName)
我没有在任何地方声明变量“m”,但 IDE 会自动找出我要做什么。有点令人不安的是,IDE 比我更了解我的代码。我想解决这个问题。
我主要想知道它是如何知道如何引用我的模型的。
编辑:感谢您的所有回答。
因此,“Html”是 HtmlHelper 的一个实例。 “Html”是 ViewPage 基类的成员。它的值在 ViewPage 基类的 InitHelpers() 方法中设置。 HtmlHelper 构造函数将 ViewPage 的 ViewContext 作为参数。 ViewContext 知道我使用的是什么模型。 LabelFor 是 HtmlHelper 类的扩展方法。这就是 lambda 表达式知道如何引用我的模型的原因。
点是相连的。谢谢!
1 Câu trả lời
您需要阅读有关 lambda 的内容,但发生的事情是您将函数指针传递给 LabelFor
方法。因为Html
是强类型 ( HtmlHelper
) 和 LabelFor
声明为 Func
,编译器(和 IDE)可以确定 tôi
是您的模型类型的一个实例,因此为成员提供了很好的 IDE 下拉菜单。
有时人们发现比较您可以使用的其他语法选项很有帮助。例如,这同样有效:
Html.LabelFor(SomePropertyMethod);
...
string SomePropertyMethod(TYourModelType model)
{
return model.SomeProperty;
}
关于c# - c# 如何找出 "m"来自 (m => m.SomeProperty)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4409566/
在过去的几个月里,我一直在研究 Haskell,我遇到了一个我不太确定如何处理的单子(monad)的情况。 我有一个 a -> m a 类型的值第二个类型为 m (a -> a)我需要对它们进行组合,
仿函数有 (a -> b) -> m a -> m b 应用程序有 f (a -> b) -> f a -> f b Monad 有 m a -> (a -> m b) -> m b 但是,是否有扩展
我是 Haskell 的新手,我想知道是否有比 Hoogle 更好的方法来确定一个库功能是否重复? 举个例子:我有很多函数f :: Monad a => a -> m a我想链接在一起,比如 f123
将存储在一系列列表中的 m、m、n 维数组组合成一个 m、m、n 维数组的方法是什么? 示例: 这是三个包含 m,m,n 维数组的列表: list1 <- array (1, dim = c(5, 5
有没有办法写一个函数f::(a -> b -> ... -> t) -> (Monad m => m a -> m b -> ... -> m t ),基本上是 liftMn 对于任何 n? (编辑:
我有一个像这样的 pandas 数据框: df = pd.DataFrame({'A':[1,3,2,9],'B':[2,1,2,7],'C':[7,2,4,6],'D':[8,1,6,4]},ind
这个问题来自文章“Trivial Monad”,地址:http://blog.sigfpe.com/2007/04/trivial-monad.html 。提供的答案是 h x y = x >>= (
所以>>= :: m a -> (a -> m b) -> m b和>> :: m a -> m b -> m b . 而 f b -> f a . 但我想要一些能m a -> (a -> m b)
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 3 年前。 Improve
当我安装 rakudo来源: $ git clone git@github.com:rakudo/rakudo.git $ cd rakudo $ perl Configure.pl --gen-mo
我正在尝试通过查看一些练习来提高我的 Idris 技能 Software Foundations (最初是为 Coq 设计的,但我希望对 Idris 的翻译不会太糟糕)。我在使用 "Exercise:
我想知道以下是否可行。 与服务器交换密码时,应保护密码。因此,用户可以使用生成的 key kUser 来加密密码。 Encrypt(m, kUser) 生成加密消息 eU(m)。现在用户将此信息发送到
这两个表之间存在什么样的关系(1:1、1:m、m:m,等等)? CREATE TABLE IF NOT EXISTS `my_product` ( `id` int(11) NOT NULL au
有人可以解释类型的含义以及如何实现吗? class Foldable f where foldMap :: (Monoid m) => (a -> m) -> f a -> m 基于 https:
例如,在 MVC 应用程序中,我可以使用 Html 助手来创建这样的标签: @Html.LabelFor(m => m.ProductName) 我没有在任何地方声明变量“m”,但 IDE 会自动找出
更新:澄清、更明确的重点和缩短的示例: 我可以避免 M op+(M&&,M&&) 过载吗?假设,我想很好地处理 RValues?我想其他三个重载是必需的。 我首先使用 (&&,&&) 重载的原因: 通
假设我有一个函数,它接受两个向量并返回一个整数,例如一个向量中也存在另一个向量中的元素数量。喜欢: f m [,1] [,2] [,3] [1,] "c" "i" "c" [2,] "
我想将字符串(字幕)转换为: 585 00:59:59,237 --> 01:00:01,105 - It's all right. - He saw us! 586 01:00:01,139 -->
đóng cửa. Câu hỏi này không đáp ứng được hướng dẫn của Stack Overflow. Hiện tại câu hỏi này không chấp nhận câu trả lời. Các câu hỏi yêu cầu mã phải chứng minh được sự hiểu biết tối thiểu về vấn đề đang được giải quyết. Bao gồm các giải pháp đã được thử nghiệm, lý do tại sao chúng không hiệu quả và
是否可以将 Linux 中的大文件将 d.m.Y h:m:s 转换为 Y-d-m h:m:s? 示例数据 "30.07.2016 00:00:00",DN123,PAPN,PAPN,TEST,9189
Tôi là một lập trình viên xuất sắc, rất giỏi!