TypeDescriptor.AddProvider Method (TypeDescriptionProvider, Type)

Adds a type description provider for a component class.

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

[PermissionSetAttribute(SecurityAction.LinkDemand, Name = "FullTrust")]
public static void AddProvider(
	TypeDescriptionProvider provider,
	Type type
)

Parameters

provider
Type: System.ComponentModel.TypeDescriptionProvider
The TypeDescriptionProvider to add.
type
Type: System.Type
The Type of the target component.

ExceptionCondition
ArgumentNullException

One or both of the parameters are null.

The AddProvider(TypeDescriptionProvider, Type) method adds a type description provider that supplies type information for the specified class, derived classes, and all instances of these types.

NoteNote

The type parameter can be any type, including an interface. For example, to provide custom type and instance information for all components, you would specify typeof(IComponent). Passing typeof(object) will call the provider to supply type information for all types.

This method does not maintain a hard reference to any object, so it does not prevent objects from finalizing.

It is possible to add multiple type description providers for the same type or object. If this occurs, the first type description provider encountered that provides type information will be used exclusively. Because type information providers are stored in a stack, the last provider added will be the first one queried. This behavior enables the AddProvider(TypeDescriptionProvider, Type) and RemoveProvider methods to be used to push and pop type description providers as required for particular scenarios.

If successful, this method calls the Refresh(Type) method on the type parameter.

NoteNote

The two versions of this method produce results with different scopes. The AddProvider method that takes an Object parameter affects only that single instance of the component specified. In contrast, the other overload, which takes a Type parameter, affects all instances of the component described by that type.

Use the AddProviderTransparent(TypeDescriptionProvider, Type) method if you need to call from partially trusted code.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft