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

Definition

Creates an object that can substitute for another data type.

public:
 virtual System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
public virtual object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
abstract member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
override this.CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
Public Overridable Function CreateInstance (provider As IServiceProvider, objectType As Type, argTypes As Type(), args As Object()) As Object

Parameters

provider
IServiceProvider

An optional service provider.

objectType
Type

The type of object to create. This parameter is never null.

argTypes
Type[]

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

args
Object[]

An optional array of parameter values to pass to the object's constructor.

Returns

The substitute Object.

Remarks

The IServiceProvider specified by the provider parameter is passed in by the TypeDescriptor.CreateInstance method of the TypeDescriptor class. If provider is not null, the service provider can be used by the type description provider to obtain additional context about the creation call.

The CreateInstance method is virtual and, by default, returns the result of the Activator.CreateInstance method if provider is null. If provider is null, this method will invoke the CreateInstance method of the parent provider.

Notes to Inheritors

If the derived class is not interested in providing a substitute instance, it should just call the base implementation.

Applies to

See also