次の方法で共有


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 です。argTypesnull でない場合、argsnull です。

argTypesargs の要素数が異なります。

注釈

メソッドはCreateInstance、指定したobjectTypeデータ型に関連付けられている を検索TypeDescriptionProviderします。 このメソッドは、最初に パラメーターから型記述プロバイダーの取得を provider 試みます。 これが失敗した場合は、プロバイダーの独自の内部テーブルを検索します (これらのエントリは、 の AddProvider以前の呼び出しによって作成されました)。 プロバイダーが見つかると、このメソッドは作成呼び出しをそのオブジェクトに委任します。

注意 (継承者)

派生クラスが代替インスタンスを提供しない場合、このメソッドは基本実装を呼び出す必要があります。

適用対象

こちらもご覧ください