這是經常可以看到傳入的事情多餘的值或屬性,如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',所以在技術上,是的。除此之外,你實際上是在你的例子中創建一個匿名對象。 –