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 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>.

 

posted @ 2016-03-21 16:38  ChuckLu  阅读(252)  评论(0编辑  收藏  举报