Tenga en cuenta el siguiente código.TypeDescriptor.GetProperties() vs Type.GetProperties()
Object obj;
PropertyDescriptorCollection A = TypeDescriptor.GetProperties(obj);
PropertyInfo[] B = obj.GetType().GetProperties(); // EDIT*
Estoy tratando de entender la diferencia entre A y B. Por lo que entiendo TypeDescriptor.GetProperties() volverá a medida TypeDescriptor propiedades, donde como Type.GetProperties() sólo se devolver las propiedades "reales" intrínsecas del objeto. ¿Es esto correcto? Si obj no tiene propiedades TypeDescriptor personalizadas, entonces también devuelve por defecto las propiedades intrínsecas del objeto. .
* original segundo línea de código antes de EDIT (valor de retorno tenía mal):
PropertyDescriptorCollection B = (obj.GetType) GetProperties();
Se usa en diseñadores, pero también se utiliza para el enlace de datos, por lo que no es solo una tecnología de tiempo de diseño. –