















1.泛型和泛型强制转换
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace VS2005Demo2
6
{
7
8
C# 编译器只允许将泛型参数隐式强制转换到 Object 或约束指定的类型
23
24
编译器允许您将泛型参数显式强制转换到其他任何接口,但不能将其转换到类
36
37
38
使用临时的 Object 变量,将泛型参数强制转换到其他任何类型
48
49
使用is和as运算符
63
64
}
65

2

3

4

5

6

7

8

23

24

36

37

38

48

49

63

64

65

2.继承和泛型
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace VS2005Demo2
6
{
7
继承和泛型
17
18
继承约束
36
37
虚拟方法
62
63
接口、抽象类继承
78
79
泛型抽象方法和泛型接口
119
120
}
121

2

3

4

5

6

7

17

18

36

37

62

63

78

79

119

120

121

3.泛型方法
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace VS2005Demo2
6
{
7
8
泛型方法
26
27
编译器无法只根据返回值的类型推断出类型
44
45
泛型方法约束
52
53
泛型虚拟方法
92
93
泛型静态方法
129
}
130

2

3

4

5

6

7

8

26

27

44

45

52

53

92

93

129

130

4.泛型委托
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace VS2005Demo2
6
{
7
泛型委托
31
32
委托泛型参数
62
63
委托泛型参数
66
67
事件
95
}
96

2

3

4

5

6

7

31

32

62

63

66

67

95

96







































































