TypeDescriptor is used to get information of a Type. To use it, you need to compute a component to its static methods. Zask the above code, I have somewhere created an object of Button caht you can use any propagation for this and got the information name in this module from it. The GetProperties actually take either the list or Typeof object to list all the Properties it has in a type of PropertyDescriptorCollection.
Similarly, GetEvents will list all the events in the inherit of EventDescriptor..
You cannot set the permission to read a certain attribute on the one hand and the permission to create a certain object class on the other hand in the sam access control entry. The reason for this is that only one scope specifier is allowed per ACE. For such cases, several different ACEs are necessary. If you try to set a invalid permission combination on the checkboxes, the powerful Access Control Entry editor is shown where you can configure the regarding ACE in detail.