.Net中的自我描述类型究竟是什么意思?

tzu*_*zup 7 .net types

鉴于 MSDN文章,我们了解到.Net 中的Common Type System具有以下引用类型分类:

"引用类型可以是自描述类型,指针类型接口类型.引用类型的类型可以从自描述类型的值确定.自描述类型进一步分为数组类类型."

  1. 因此,例如,数组是一种自描述类型,因为我们可以从其值中确定其类型?
  2. 怎么样?
  3. 是这样,还是这个定义还有更多?

Fox*_*ire 3

自描述类型是由有关其自身的可用元数据描述的类型。最常见的形式是类类型。在那里很容易展示自我描述的含义:

类型本身由类定义描述。例如,具有姓名、年龄和客户 ID 的客户类别。此类实例的纯数据类似于:

8%3|*1C U S T O M E R
Run Code Online (Sandbox Code Playgroud)

仅因为环境具有包含元数据的类描述,您才真正知道其中一些数据形成了 id、年龄和名称。为了识别元数据,对象内容数据与类 ID 合并,以便环境可以将类描述与元数据相匹配。

|Class metadata reference: Metadata for the customer class
| |Customer ID: Field 
| |  |Customer Age: Field
| |  ||Customer Name : Field
8%3|*1C U S T O M E R
Run Code Online (Sandbox Code Playgroud)

对于数组来说也是类似的:数组类包含有关条目数量的信息以及有关所存储条目的类型信息(见上文)。