繁体   English   中英

类型定义和类型引用之间有什么区别?

[英]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.TypeSystem.TypeInfo对比。 文档中

TypeInfo对象表示类型定义本身 ,而Type对象表示对类型定义引用

仅当实现类的程序集(类型定义)已加载或可加载时,才能实例化类的System.TypeInfo 要实例化System.Type ,唯一的要求是当前程序包含对实现程序集的引用

另请参阅Type和TypeInfo有什么区别?

当您通过类,结构,接口或枚举定义新类型时,就会发生类型定义。

类型引用是有关类型的信息的集合,例如类型名称或成员。

System.Type类能够表示类型,但不能定义类型。 当调用typeof(TypeName)object.GetType() ,将使用System.Type对象处理类型的表示形式。

您不能仅使用System.Type对象直接实例化类型的对象。 它只是描述的类型,但不能类型。 这就是为什么它被称为参考。

类型定义表示类型的实际实现,例如,如果它是一个类,则表示该类的定义(及其所有属性和字段)。

类型引用 ,仅表示System.Type包含特定类型的详细信息,即它是有关Type的元数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM