关于一切Type
的本质都是反射性的。是因为Type
比 中的其他类更经常使用System.Reflection
吗?还是因为它的功能更像系统类而不是反射类?
简而言之,我一直想知道选址背后的动机是什么System.Type
。
关于一切Type
的本质都是反射性的。是因为Type
比 中的其他类更经常使用System.Reflection
吗?还是因为它的功能更像系统类而不是反射类?
简而言之,我一直想知道选址背后的动机是什么System.Type
。
程序集具有令人好奇的类型和Assembly
谎言。System.Reflection
所以我的猜测是它与Object
实现GetType
返回 a的方法有关Type
。
Type 类用在更多地方,而不仅仅是 System.Reflection。使用 Reflector 进行快速搜索会发现数百个。它在 System.Configuration、System.Data、System.Drawing、System.Linq、System.Windows.Forms 等中至关重要。Type 实例在这些类中的实际使用方式是不可见的。很可能使用了 System.Reflection,但这是一个不会影响程序的实现细节。
鉴于使用 typeof 运算符和 object.GetType 创建这些类所需的 Type 实例是微不足道的,并且除非您实际编写反射代码,否则您永远不必使用 System.Reflection,Type 当然值得在 System 命名空间中轻松访问。
我猜这是因为 Object 作为 GetType 方法。
MS 编码练习告诉一个类不应该引用子命名空间中的类型。在实践中,BCL 经常违反此规则;o)