引用C#5.0规范§18.2指针类型
与引用(引用类型的值)不同,垃圾收集器不跟踪指针 - 垃圾收集器不知道指针及它们指向的数据.因此,不允许指针指向引用或包含引用的结构,指针的引用类型必须是非托管类型.
非托管类型是任何不是引用类型或构造类型的类型,并且在任何嵌套级别都不包含引用类型或构造类型字段.换句话说,非托管类型是以下之一:
- sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,decimal或bool.
- 任何枚举类型.
- 任何指针类型.
- 任何用户定义的struct-type,它不是构造类型,只包含非托管类型的字段.
阻止你的关键部分是constructed type限制.
来自§1.6.3类型参数(强调我的)
提供类型参数的泛型类型(
Pair<int,string>如上所述)称为构造类型.
指定类型参数的任何泛型类型都被视为构造类型,并且不允许构造类型位于指针中.这就是Nullable<int>不允许的原因.
| 归档时间: |
|
| 查看次数: |
440 次 |
| 最近记录: |