I don't understand what it is and when to use it. MSDN didn't help me. MSDN states that ICustomTypeDescriptor Provides an interface that supplies dynamic custom type information for an object.
There are a lot of resources available that show different use cases for the ICustomTypeDescriptor
interface, but in short, the typical use case is to provide custom type description outside of what the standard TypeDescriptor
provides. The interface is rarely implemented without needing to return custom member descriptors such as a custom PropertyDescriptor
.
The Type Descriptor Overview from the MSDN is a good resource which might help further clarify purpose and usage.