To develop a user interface (that is, what is presented to the end user), consider implementing ICustomTypeDescriptor (in System.ComponentModel). Many controls are aware of this interface and will use it to request properties that an instance or type provides.
Malio source
share