5

关于一切Type的本质都是反射性的。是因为Type比 中的其他类更经常使用System.Reflection吗?还是因为它的功能更像系统类而不是反射类?

简而言之,我一直想知道选址背后的动机是什么System.Type

4

3 回答 3

1

程序集具有令人好奇的类型和Assembly谎言。System.Reflection

所以我的猜测是它与Object实现GetType返回 a的方法有关Type

于 2010-03-19T14:43:25.520 回答
1

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 命名空间中轻松访问。

于 2010-03-19T17:15:06.947 回答
0

我猜这是因为 Object 作为 GetType 方法。

MS 编码练习告诉一个类不应该引用子命名空间中的类型。在实践中,BCL 经常违反此规则;o)

于 2010-03-19T14:59:03.303 回答