.NET Framework 提供了两种访问某类型的元数据的方式:通过 System.Reflection 命名空间中提供的反射 API,以及通过 TypeDescriptor 类。 反射是可用于所有类型的通用机制,因为它是基于根 Object 类的 GetType 方法建立的。 反射为某个类型返回的信息不可扩展,因为编译了目标类型后就不能对其进行修改。 有关更多信息,请参见 .NET Framework 中的反射 中的主题。
相反,TypeDescriptor 是组件的可扩展检查机制:即实现 IComponent 接口的那些类。 与反射不同,它不会检查方法。 可通过目标组件的 Site 可用的一些服务来动态扩展 TypeDescriptor。。
TypeDescriptor 中的所有方法都是 static 的。 不能创建此类的实例,也不能继承此类。