这是经常可以看到传入的事情多余的值或属性,如MVC5中的对象是什么?
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
什么叫做new {...}
一部分?它是一个对象吗?它看起来不像一个对象,因为新对象{...}会导致错误。
我使用了很多,但我并没有深入了解new {...}
语法是什么。
这是经常可以看到传入的事情多余的值或属性,如MVC5中的对象是什么?
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
什么叫做new {...}
一部分?它是一个对象吗?它看起来不像一个对象,因为新对象{...}会导致错误。
我使用了很多,但我并没有深入了解new {...}
语法是什么。
这是一个anonymous type对象 - C#而不是MVC5的一个特性。编译器创建一个具有只读属性的匿名类型,匹配initalizer中使用的名称和类型。在运行时,将创建此类型的实例,并且MVC使用反射对其属性进行迭代。
值得注意的是,在特定情况下,它是一个匿名对象,但是,您也可以使用相同的语法实例化已定义的对象。 –
@cFrozenDeath你可以吗?你可以发布一个例子或链接到如何?我能想到的最接近的是通过'new [] {...}进行数组实例化# –
@ScottChamberlain我特别提到了数组实例化:)虽然 –
链接只有答案是不鼓励的。请编辑你的答案,并添加一些信息 –
@cFrozenDeath我认为这是一个完整的答案。如果死亡的所有环节仍然100%回答问题。链接只是提供supplmental信息。 –
@ScottChamberlain我不同意你的看法。并非每一个'new {...}'都会创建一个匿名对象。充其量只是部分回答 –
C#中的所有东西都是一个'object',所以在技术上,是的。除此之外,你实际上是在你的例子中创建一个匿名对象。 –