![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
1.泛型和泛型强制转换
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
namespace VS2005Demo2
6
{
7![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
C# 编译器只允许将泛型参数隐式强制转换到 Object 或约束指定的类型
23![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
编译器允许您将泛型参数显式强制转换到其他任何接口,但不能将其转换到类
36![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
使用临时的 Object 变量,将泛型参数强制转换到其他任何类型
48![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
使用is和as运算符
63![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
}
65![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
23
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
24
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
36
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
38
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
48
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
49
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
63
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
64
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
65
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2.继承和泛型
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
namespace VS2005Demo2
6
{
7
继承和泛型
17![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
继承约束
36![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
虚拟方法
62![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
接口、抽象类继承
78![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
泛型抽象方法和泛型接口
119![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
}
121![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
17
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
18
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
36
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
37
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
62
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
78
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
79
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
119
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
120
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
121
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3.泛型方法
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
namespace VS2005Demo2
6
{
7![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
泛型方法
26![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
编译器无法只根据返回值的类型推断出类型
44![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
泛型方法约束
52![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
泛型虚拟方法
92![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
泛型静态方法
129
}
130![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
8
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
26
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
27
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
44
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
45
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
52
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
53
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
92
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
93
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
129
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
130
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4.泛型委托
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
namespace VS2005Demo2
6
{
7
泛型委托
31![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
委托泛型参数
62![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
委托泛型参数
66![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
事件
95
}
96![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
2
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
3
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
4
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
5
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
6
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
7
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
31
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
32
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
62
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
63
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
66
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
67
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gif)
95
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
96
![](https://clingingboy.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)