.NET 中的泛型接口

本文概述了 .NET 的泛型接口,用于跨泛型类型系列提供通用功能。

泛型接口为非泛型接口提供类型安全的对应项,用于排序和相等比较,以及泛型集合类型共享的功能。 例如,.NET 7 引入了类似数字类型的 System.Numerics.INumber<TSelf>泛型接口。 这些接口允许你定义提供数学功能的泛型方法,其中泛型类型参数被约束为实现泛型数字接口的类型。

注释

多个泛型接口的类型参数标记为协变或逆变,从而在分配和使用实现这些接口的类型方面提供了更大的灵活性。 有关详细信息,请参阅 协变和逆变

相等性和排序比较

集合功能

数学功能

.NET 7 在命名空间中 System.Numerics 引入了泛型接口,这些接口描述了类似数字的类型及其可用的功能。 .NET 基类库提供的 20 种数值类型(例如, Int32 并且 Double)已更新为实现这些接口。 这些接口中最突出的是 INumber<TSelf>,它大致对应于一个“实数”。

有关这些接口的详细信息,请参阅 泛型数学

另请参阅