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
或 args
是 null
,當 argTypes
不是 null
時。
argTypes
和 args
的項目數不同。
備註
方法 CreateInstance 會搜尋 TypeDescriptionProvider 與指定 objectType
資料類型相關聯的 。 這個方法會先嘗試從 provider
參數取得類型描述提供者。 如果失敗,它會搜尋自己的內部數據表中的提供者, (這些專案是透過先前呼叫 AddProvider 來建立) 。 如果找到提供者,這個方法會將建立呼叫委派給該物件。
給繼承者的注意事項
如果衍生類別未提供替代實例,這個方法應該呼叫基底實作。