TypeDescriptor.CreateInstance 方法

定义

创建可替换为另一种数据类型的对象。

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

参数

provider
IServiceProvider

提供 TypeDescriptionProvider 服务的服务提供程序。 此参数可以为 null

objectType
Type

要创建的对象的 Type

argTypes
Type[]

要传递给对象的构造函数的可选参数类型数组。 此参数可以是 null 或长度为零的数组。

args
Object[]

要传递给对象的构造函数的可选参数值数组。 如果不是 null,元素数则必须与 argTypes 相同。

返回

如果找到关联的 TypeDescriptionProvider,则为替代数据类型的实例;否则为 null

属性

例外

objectTypenull,或者,当 argTypes 不是 null 时,则 argsnull

argTypesargs 具有不同的元素数。

注解

方法 CreateInstance 将搜索 TypeDescriptionProvider 与指定 objectType 数据类型关联的 。 此方法首先尝试从 provider 参数获取类型说明提供程序。 如果此操作失败,它会在自己的内部表中搜索提供程序, (这些条目是通过先前调用 AddProvider) 创建的。 如果找到提供程序,此方法会将创建调用委托给该对象。

继承者说明

如果派生类不提供替换实例,则此方法应调用基实现。

适用于

另请参阅