¿Cómo uso una palabra clave de C# como nombre de propiedad?
Usando asp.net MVC me gustaría hacer esto dentro de una vista:
<%= Html.TextBox("textbox1", null, new { class="class1" }) %>
Esta declaración no se compila porque clase es una palabra clave en C#. Me gustaría saber cómo puedo escapar de los nombres de las propiedades para que esto se compile.
Es posible compilar esto si cambio la propiedad "clase" a "Clase" (C mayúscula). Pero esto no es adecuado porque xhtml estricto dice que todos los nombres de atributos (y elementos) deben estar en minúsculas.
Puede utilizar palabras clave en C# como identificadores anteponiendo @ delante de ellas.
var @class = new object();
Para citar la documentación de MSDN sobre palabras clave de C# :
Las palabras clave son identificadores reservados predefinidos que tienen significados especiales para el compilador. No se pueden utilizar como identificadores en su programa a menos que incluyan @ como prefijo. Por ejemplo, @if es un identificador válido pero if no lo es porque es una palabra clave.