TypeDescriptor.CreateInstance 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
创建可替换为另一种数据类型的对象。
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
。
- argTypes
- Type[]
要传递给对象的构造函数的可选参数类型数组。 此参数可以是 null
或长度为零的数组。
- args
- Object[]
要传递给对象的构造函数的可选参数值数组。 如果不是 null
,元素数则必须与 argTypes
相同。
返回
如果找到关联的 TypeDescriptionProvider,则为替代数据类型的实例;否则为 null
。
- 属性
例外
objectType
是 null
,或者,当 argTypes
不是 null
时,则 args
是 null
。
argTypes
和 args
具有不同的元素数。
注解
方法 CreateInstance 将搜索 TypeDescriptionProvider 与指定 objectType
数据类型关联的 。 此方法首先尝试从 provider
参数获取类型说明提供程序。 如果此操作失败,它会在自己的内部表中搜索提供程序, (这些条目是通过先前调用 AddProvider) 创建的。 如果找到提供程序,此方法会将创建调用委托给该对象。
继承者说明
如果派生类不提供替换实例,则此方法应调用基实现。