System.Type
含有UnderlyingSystemType
属性。 MSDN 指出它:
表示由表示这种类型的公共语言运行时提供的类型。
在大多数情况下,这个属性只是返回当前Type
的实例。
我的问题是,在什么情况下该属性不返回当前的Type
实例本身。 在这些情况下,什么样的类型将是当前Type
的实例,并返回底层系统类型是什么?
System.Type
含有UnderlyingSystemType
属性。 MSDN 指出它:
表示由表示这种类型的公共语言运行时提供的类型。
在大多数情况下,这个属性只是返回当前Type
的实例。
我的问题是,在什么情况下该属性不返回当前的Type
实例本身。 在这些情况下,什么样的类型将是当前Type
的实例,并返回底层系统类型是什么?
说实话,我从来没有自己做的,但我知道这是可以创建自己的RuntimeType
喜欢你指定类型的定义。
如果您发现该Type
是一个抽象类,有很多抽象的承包商,客人的。 什么情况是, 你的类型(无论是)自动创建RuntimeType
源自Type
类并实现它的类型。
因此,物业UnderlyingSystemType
在orindary的情况下RuntimeType
将返回Type
属性等于值,在被覆盖的实施情况,相反,(即是影响relfection行为,但我重复一遍,我个人从来没有这样做过),将返回用户定义类型值。
编辑
实际上家伙在评论中提供的链接是一个很好的:
当一个类型不是一个类型?