Generic Interfaces (C# Programming Guide)
https://msdn.microsoft.com/en-us/library/kwtft8ak(v=vs.140).aspx
It is often useful to define interfaces either for generic collection classes, or for the generic classes that represent items in the collection.
The preference偏爱,优先权 for generic classes is to use generic interfaces, such as IComparable<T> rather than IComparable, in order to avoid boxing and unboxing operations on value types.
The .NET Framework class library defines several generic interfaces for use with the collection classes in theSystem.Collections.Generic namespace.
When an interface is specified as a constraint约束 on a type parameter, only types that implement the interface can be used.
The following code example shows a SortedList<T> class that derives from the GenericList<T> class.
For more information, see Introduction to Generics (C# Programming Guide).
SortedList<T> adds the constraint where T : IComparable<T>.
This enables the BubbleSort method in SortedList<T> to use the generic CompareTo method on list elements.
In this example, list elements are a simple class, Person, that implements IComparable<Person>.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步