TypeDescriptor::CreateInstance Method (IServiceProvider^, Type^, array<Type^>^, array<Object^>^)

 

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,
	array<Type^>^ argTypes,
	array<Object^>^ args
)

Parameters

provider
Type: System::IServiceProvider^

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

objectType
Type: System::Type^

The Type of object to create.

argTypes
Type: array<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.

args
Type: array<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
ArgumentNullException

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

ArgumentException

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
Show: