2013-10-31 24 views
0

-symbol我得到了一些開發商的項目,並期待throuhg的代碼時,我發現這樣的代碼:@在C#代碼

public interface IPackage 
{ 
    void @Do(); 
} 

我剛看到與字符串上下文@使用。但在這種情況下,這意味着什麼?請有人解釋一下嗎?先謝謝你!

+0

我之前搜索過Google,但沒有運氣。謝謝。 – IDeveloper

回答

2

@字符允許您提供保留爲關鍵字的變量名稱。一個常見的和有用的使用情況是這樣的:

public static void AnExtensionMethod(this SomeObject @this) 
{ 
    @this.AMethod(); 
} 

在您的示例@似乎在C#過時,因爲Do不是一個關鍵字(do is)。 It is in VB.NET though,所以如果這個接口將被VB.NET客戶端使用,那麼它是需要的。在你的情況下,只有當方法確實沒有比Do更好的名稱時,纔是正確的。現在它看起來不太可讀。從概念上講,「package.do」可以表示任何東西,所以你可以稱它爲x。但是也許在你的領域語言中,這是一個更精確的術語。

documentation狀態:

前綴「@」可以使用關鍵字作爲標識符,與其他編程語言建立接口時很有用。字符@實際上並不是標識符的一部分,因此該標識符可能在其他語言中被看作是普通標識符,而沒有前綴。帶有@前綴的標識符稱爲逐字標識符。對於不是關鍵字的標識符,使用@前綴是允許的,但強烈建議不要將其作爲樣式。

3

MSDN

前綴「@」可以使用關鍵字作爲標識符,與其他編程語言建立接口時 有用。 字符@實際上並不是標識符的一部分,因此標識符 可能在其他語言中被看作是普通標識符,而不包含前綴 。帶有@前綴的標識符稱爲逐字 標識符。對於不是關鍵字 的標識符,使用@前綴是允許的,但強烈建議不要採用風格。