标签:
约束 | 说明 |
---|---|
T:Struct | 类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可空类型(C# 编程指南)。 |
T:Class | 类型参数必须是引用类型,包括任何类、接口、委托或数组类型。 |
T:new() | 类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new() 约束必须最后指定。 |
T:基类名 | 类型参数必须是指定的基类或派生自指定的基类。 |
T:接口名称 | 类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。 |
T:U | 为 T 提供的类型参数必须是为 U 提供的参数或派生自为 U 提供的参数。这称为裸类型约束。 |
//在同一个类中 void DoWork() { } void DoWork<T>() { } void DoWork<T, U>() { }
Dictionary泛型类
static List<T> MakeList<T>(T first,T second) 。。。 List<string>list = MakeList<string>("tom","Jerry"); //使用类型推导可以写成 List<string>list=MakeList("tom","Jerry")
public seale class Pair<T1,T2>:IEquatable<Pair<T1,T2>> { 。。。 public static Pair<T1,T2>Of<T1,T2>(T1 first,T2 second) { return new Pair<T1,T2>(first,second); } }
标签:
原文地址:http://www.cnblogs.com/phenixyu/p/4262269.html