.NET泛型范例快览
2005 年1月11日Jason Clark在MSDN上发表的《 CLR 中的泛型简介》上介绍的泛型各种定义类型和引用例子:
Defining Code | Referencing Code |
---|---|
class Node<T> { T m_data; Node<T> m_next; } | class Node8Bit : Node<Byte> { ••• } |
struct Pair<T,U> { T m_element1; U m_element2; } | Pair<Byte,String> pair; pair.m_element1 = 255; pair.m_element2 = "Hi"; |
interface IComparable<T> { Int32 CompareTo(T other); } | class MyType : IComparable<MyType> { public Int32 CompareTo(MyType other) { ... } } |
void Swap<T>(ref T item1, ref T item2) { T temp = item1; item1 = item2; item2 = temp; } | Decimal d1 = 0, d2 = 2; Swap<Decimal> (ref d1, ref d2); |
delegate void EnumerateItem<T>(T item); | ••• EnumerateItem<Int32> callback = new EnumerateItem<Int32>(CallMe); } void CallMe(Int32 num) { ... } |