.NET我们有原始数据类型,如int和值类型,如struct.
我们也有参考类型.所有这些似乎都来自对象类.
.NET如何根据引用类型确定原始值类型?
它在哪里完成?在编译器或JIT?
这是否属于编译器的功能?
Cha*_*ana 11
所有值类型(包括内置公共类型系统(CTS)原语)都直接从CTS类型"System.ValueType"(枚举除外)派生.
所以编译器可以通过检查任何类型的基类型来判断.如果是"System.ValueType",则它是值类型,否则,它是引用类型.
编辑:枚举,如
public Enum Shipper {FedEx, Aerborne, USPS, Stork}
Run Code Online (Sandbox Code Playgroud)
...不直接从System.ValueType派生,它们派生自System.Enum,派生自System.ValueType ...