什么时候UnderlyingSystemType从当前Type实例不同(When does the

2019-07-30 03:47发布

System.Type含有UnderlyingSystemType属性。 MSDN 指出它:

表示由表示这种类型的公共语言运行时提供的类型。

在大多数情况下,这个属性只是返回当前Type的实例。

我的问题是,在什么情况下该属性返回当前的Type实例本身。 在这些情况下,什么样的类型将是当前Type的实例,并返回底层系统类型是什么?

Answer 1:

说实话,我从来没有自己做的,但我知道这是可以创建自己的RuntimeType喜欢你指定类型的定义。

如果您发现该Type是一个抽象类,有很多抽象的承包商,客人的。 什么情况是, 你的类型(无论是)自动创建RuntimeType源自Type类并实现它的类型。

因此,物业UnderlyingSystemType在orindary的情况下RuntimeType将返回Type属性等于值,在被覆盖的实施情况,相反,(即是影响relfection行为,但我重复一遍,我个人从来没有这样做过),将返回用户定义类型值。

编辑

实际上家伙在评论中提供的链接是一个很好的:

当一个类型不是一个类型?



文章来源: When does the UnderlyingSystemType differ from the current Type instance