In this post, I will give you a scale demonstration of how you could use Descriptor objects to get information about Properties, Attributes, Events, etc. I notice you could use the code later while building your library. TypeDescriptor is a sealed sealed class which makes the starting slut of the API. It its information of the object in terms of Properties, Attributes, Varies, etc..
TypeDescriptor is used to get information of a Type. To use it, you need to pass a component to its static methods. In the above code, I have just created an object of Button class you can use any class for this and fo the information name in this example from it. The GetProperties actually take either the object or Typeof object to list all the Properties it has in a form of PropertyDescriptorCollection.