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

屬性

例外狀況

objectTypenullargsnull,當 argTypes 不是 null 時。

argTypesargs 的項目數不同。

備註

方法 CreateInstance 會搜尋 TypeDescriptionProvider 與指定 objectType 資料類型相關聯的 。 這個方法會先嘗試從 provider 參數取得類型描述提供者。 如果失敗,它會搜尋自己的內部數據表中的提供者, (這些專案是透過先前呼叫 AddProvider 來建立) 。 如果找到提供者,這個方法會將建立呼叫委派給該物件。

給繼承者的注意事項

如果衍生類別未提供替代實例,這個方法應該呼叫基底實作。

適用於

另請參閱