为什么这个表达
typeof(System.ValueType).IsValueType
返回false?
答案 0 :(得分:0)
来自MSDN Type.IsValueType Property
此属性对 ValueType类返回false,因为 ValueType 不是值类型本身。它是所有值类型的基类, 因此可以为其分配任何值类型。这不会 如果ValueType本身是值类型,则可能。值类型已装箱 当它们被分配到 ValueType 类型的字段时。
来自MSDN ValueType Class (System)
虽然ValueType是值类型的隐式基类,但是 无法创建直接从ValueType继承的类。代替, 个人编译器提供语言关键字或构造(例如 结构在C#和Structure ...结构在Visual Basic中)支持 创造价值类型。
因此,因为它是一个类而不是一个结构,所以它会期望它是第一个链接所指出的引用类型。