在界面后使用尖括号时意味着什么?

时间:2014-04-06 10:14:50

标签: c#

我的示例代码包含以下内容:

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

我知道IdentityUser必须实现IUser方法,但有人可以解释它的含义:

IdentityUser<string, IdentityUserLogin, IdentityUserRole, IdentityUserClaim>

2 个答案:

答案 0 :(得分: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等等。

答案 1 :(得分:1)

这不容易解释,但这意味着该类型是通用类型。您应该阅读MSDN library中的相关主题以获取详细信息,或者阅读Wikipedia article以获取概述的概述。