CLR via C# 泛型 泛型接口
泛型的主要作用就是定义泛型的引用类型和值类型。然而,对泛型接口的支持对CLR来说也很重要。没有泛型接口,每次用泛型接口(例如IComparable)来操纵值类型都会发生装箱,而且会失去编译时的类型安全。这将严重制约泛型类型的应用范围。因此,CLR提供了对泛型接口的支持。引用类型或值类型可指定类型实参实现泛型接口。也可保持类型实参的未指定状态来实现泛型接口。
下面的实例实现了上述泛型接口,而且指定了类型实参:
下例实现了相同的泛型接口,但保持类型实参的未指定状态: