TypeDescriptor.CreateInstance Method (IServiceProvider, Type, Type[], Object[])


The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Creates an object that can substitute for another data type.

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

public static object CreateInstance(
	IServiceProvider provider,
	Type objectType,
	Type[] argTypes,
	object[] args


Type: System.IServiceProvider

The service provider that provides a TypeDescriptionProvider service. This parameter can be null.

Type: System.Type

The Type of object to create.

Type: System.Type[]

An optional array of parameter types to be passed to the object's constructor. This parameter can be null or an array of zero length.

Type: System.Object[]

An optional array of parameter values to pass to the object's constructor. If not null, the number of elements must be the same as argTypes.

Return Value

Type: System.Object

An instance of the substitute data type if an associated TypeDescriptionProvider is found; otherwise, null.

Exception Condition

objectType is null, or args is null when argTypes is not null.


argTypes and args have different number of elements.

The CreateInstance method will search for a TypeDescriptionProvider that is associated with the specified objectType data type. This method first tries to obtain a type description provider from the provider parameter. If this fails, it searches its own internal tables for a provider (these entries were created through previous calls to AddProvider). If it finds a provider, this method will delegate the creation call to that object.

Notes to Inheritors:

If the derived class does not provide a substitute instance, this method should call the base implementation.

.NET Framework
Available since 2.0
Return to top