where T : struct -这里T必须是值类型。
where T : Unmanaged-这里T不能是引用类型。
如果结构体和非托管都用于值类型,那么两者有什么区别?
为了满足非托管约束,类型必须是结构体,并且该类型的所有字段必须属于以下类别之一:
- 类型为 sbyte、byte、short、ushort、int、uint、long、ulong、char、float、double、decimal、bool、IntPtr 或 UIntPtr。
- 是一个枚举类型。
- 是指针类型。
- 是满足非托管约束的用户定义结构。
因此,非托管约束比结构约束更具约束性。
| 归档时间: |
|
| 查看次数: |
598 次 |
| 最近记录: |