TypeDescriptionProvider.CreateInstance Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public virtual object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
public virtual object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object[]? args);
public virtual object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object?[]? args);
public virtual object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
abstract member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
override this.CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
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.
- Attributes
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 parent
is null
. If parent
is not 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.