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 次 |
最近记录: |