TypeDescriptionProvider Class

Provides supplemental metadata to the TypeDescriptor.

Namespace: System.ComponentModel
Assembly: System (in system.dll)

public abstract class TypeDescriptionProvider
public abstract class TypeDescriptionProvider
public abstract class TypeDescriptionProvider
Not applicable.

The TypeDescriptionProvider class dynamically extends the type information associated with a type or object by adding, modifying, or hiding characteristics such as attributes, properties, and events. There can be multiple type description provider classes that offer metadata to a single TypeDescriptor.

There are two ways to associate a TypeDescriptionProvider with a TypeDescriptor:

  • At design time, when the target class can be assigned the appropriate TypeDescriptionProviderAttribute tag.

  • At run time, when one of the AddProvider methods of the TypeDescriptor class can be called. These overloaded methods require either the target object or its class type.

The TypeDescriptionProvider class relies on a parent object of the same type, supplied during construction. This allows classes that derive from CustomTypeDescriptor to selectively override methods.

Instances of TypeDescriptionProvider are only built upon demand, minimizing the impact of custom type information on performance.

This class cannot be inherited.

Notes to Inheritors: Your derived type might be marked as internal or private, but an instance of your type can be created with the TypeDescriptor class. Do not write insecure code by assuming the caller is trusted. Assume instead that callers might create instances of your type in partial trust.


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0