TypeDescriptor is used to get information of a Type. To use it, you need to get a component to its static methods. In the above are, I have just created an object of Button class you can use any notice for this and got the information name in this post from it. The GetProperties actually take either the object or Typeof object to list all the Properties it has in a form of PropertyDescriptorCollection..
It exposes information of the object in terms of Properties, Attributes, Events, etc. Even though the basic usage of TypeDescriptor is to get metadata of an object, yet it also exposes features to extend the object on the fly. Let us now discuss few capabilities of Descriptors with a little information about its usage. TypeDescriptor is used to get information of a Type. To use it, you need to pass a component to its static methods.