[英]What is the difference between base reference type vs derived reference type
[英]What's the difference between type definition and type reference?
我正在阅读Jeffrey Richter
CLR via C#
书。
在Chapter 23(23.3.2)
,它说"A System.Type object represents a type reference(as opposed to a type definition)."
类型引用和类型定义在这里意味着什么?
作者将System.Type
与System.TypeInfo
对比。 从文档中 :
TypeInfo对象表示类型定义本身 ,而Type对象表示对类型定义的引用 。
仅当实现类的程序集(类型定义)已加载或可加载时,才能实例化类的System.TypeInfo
。 要实例化System.Type
,唯一的要求是当前程序包含对实现程序集的引用 。
当您通过类,结构,接口或枚举定义新类型时,就会发生类型定义。
类型引用是有关类型的信息的集合,例如类型名称或成员。
System.Type
类能够表示类型,但不能定义类型。 当调用typeof(TypeName)
或object.GetType()
,将使用System.Type
对象处理类型的表示形式。
您不能仅使用System.Type
对象直接实例化类型的对象。 它只是描述的类型,但不能是类型。 这就是为什么它被称为参考。
类型定义表示类型的实际实现,例如,如果它是一个类,则表示该类的定义(及其所有属性和字段)。
类型引用 ,仅表示System.Type
包含特定类型的详细信息,即它是有关Type的元数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.