TypeDescriptor.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:
static System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public static object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
public static object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object[]? args);
public static object? CreateInstance (IServiceProvider? provider, Type objectType, Type[]? argTypes, object?[]? args);
public static object CreateInstance (IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
static member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
static member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
Public Shared Function CreateInstance (provider As IServiceProvider, objectType As Type, argTypes As Type(), args As Object()) As Object
Parameters
- provider
- IServiceProvider
The service provider that provides a TypeDescriptionProvider service. This parameter can be null
.
- argTypes
- 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
- 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
.
Returns
An instance of the substitute data type if an associated TypeDescriptionProvider is found; otherwise, null
.
- Attributes
Exceptions
objectType
is null
, or args
is null
when argTypes
is not null
.
argTypes
and args
have different number of elements.
Remarks
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.