2009-01-07 77 views
35

使用asp.net MVC我想做到這一點的一個視圖中:如何使用C#關鍵字作爲屬性名稱?

<%= Html.TextBox("textbox1", null, new { class="class1" }) %> 

此語句不編譯,因爲類是在C#中的關鍵字。我想知道我怎樣才能避免這樣編譯的屬性名稱。

如果將「class」屬性更改爲「Class」(大寫C),則可以將其編譯。但是這不適合,因爲嚴格的xhtml表示所有的屬性(和元素)名稱都必須是小寫。

回答

95

您可以使用C#中的關鍵字作爲標識符,方法是在它們前面加上@ infront。

var @class = new object(); 

若要從MSDN文檔引用上C# Keywords

關鍵詞是預定義的,保留的標識符具有特殊的含義 的編譯器。除非它們包含@作爲前綴,否則它們不能用作 程序中的標識符。例如,@if是有效的 標識符,但是如果不是因爲if是關鍵字。

+4

+1因爲我不知道。但我認爲你應該考慮不要這樣做,儘可能遠離關鍵字 - 那 - arent-keywords(C#,SQL,python,whatnot)。拿出你的詞庫並找到你想說的東西的同義詞。 – jcollum 2009-01-07 18:03:21

相關問題