Что означает @ в этом примере кода? - PullRequest
6 голосов
/ 12 ноября 2008

Html.TextBox("ParentPassword", "", new { @class = "required" })

Черт возьми, черт возьми, @ для класса @.

Ответы [ 3 ]

20 голосов
/ 12 ноября 2008

class является зарезервированным ключевым словом, поэтому его нельзя использовать в качестве имени переменной.

Оператор @ позволяет обойти это правило. Причина, по которой это делается здесь, заключается в том, что анонимный объект используется для заполнения атрибутов элемента HTML. Допустимое имя атрибута - «класс», что позволяет вам установить класс CSS для элемента.

8 голосов
/ 12 ноября 2008

class является ключевым словом. Чтобы использовать class в качестве имени переменной / свойства, в C # к нему можно добавить @ как @class. В IL, для всех .net, имя переменной / свойства по-прежнему class - @, как вы должны сделать это в C #.

7 голосов
/ 12 ноября 2008

Просто добавьте мои два цента ко всем правильным ответам здесь:

Если вы новичок в C #, но знакомы с VB.NET, вы, вероятно, знаете, что в VB есть корреспондент @. Квадратные скобки [] используются в VB.NET для окружения имени переменной, которая названа в честь зарезервированного слова (или ключевого слова). Например:

Dim [String] As String
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...