Ste*_*ven 20 .net c# clr base-class-library
System.Type包含一个UnderlyingSystemType属性.Msdn 表示:
指示表示此类型的公共语言运行库提供的类型.
在大多数情况下,此属性只返回当前Type实例.
我的问题是,在什么情况下这个属性不会返回当前Type实例本身.在这些情况下,当前Type实例和返回的底层系统类型将是什么类型?
说实话,我从来没有自己做过,但我知道可以创建自己RuntimeType喜欢的指定类型的定义.
如果你注意到这个Type类是抽象的并且有很多抽象的成员.会发生什么是您的类型(无论它是什么)自动创建RuntimeType派生自Type类并为您的类型实现它.
因此,UnderlyingSystemType在orindary的情况下属性RuntimeType将返回Type属性相等的值,在重写实现的情况下,(这是为了影响relfection行为,但我重复我个人以前从未这样做过),将返回用户定义的类型值.
编辑
实际上,评论中提供的链接是一个很好的链接:
| 归档时间: |
|
| 查看次数: |
2581 次 |
| 最近记录: |