2014-04-06 78 views
1

我的示例代碼有以下幾點:在界面之後使用尖括號是什麼意思?

public class IdentityUser : IdentityUser<string, IdentityUserLogin, IdentityUserRole, IdentityUserClaim>, 
    IUser, 
    IUser<string> 
{ 

我明白IdentityUser必須實現IUSER方法,但有人可以解釋這意味着什麼:

IdentityUser<string, IdentityUserLogin, IdentityUserRole, IdentityUserClaim> 
+1

我認爲這可能是相關的:http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx – AlphaDelta

+0

你確定你有'IdentityUser'之前和之後' :'? – Szymon

+1

您的問題標題詢問接口後使用的尖括號,但在'IdentityUser <字符串,IdentityUserLogin,IdentityUserRole,IdentityUserClaim>'中,您正在處理一個類。在'IUser '中,你正在處理一個接口。 (在這兩種情況下,碰巧意味着同樣的事情,所以這並不重要,但最好是精確的,而且它可能是一個接口 - 語法沒有說 - 但在這種情況下,它只是碰巧它不是。) – hvd

回答

1

這是不容易解釋,但它意味着該類型是通用類型。您應該閱讀MSDN library中的相關主題以瞭解詳細信息,或者閱讀Wikipedia article以瞭解概念的一般概述。

2

尖括號是泛型的表示法。我建議閱讀關於C#泛型的文檔,例如http://msdn.microsoft.com/en-us/library/ms379564(v=vs.80).aspx

無論IdentityUser被定義爲類似於這樣:

public interface IdentityUser<A,B,C,D> { 
    // ... 
} 

所以,如果你讓下面的類:

public class MyClass : IdentityUser<string, string, string, string> { 
    // ... 
} 

然後,它是說,MyClass實現IdentityUser和類型變量Astring,類型變量Bstring,依此類推。

相關問題