TypeDescriptionProvider.CreateInstance 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
建立對象,這個物件可以替代另一個數據類型。
public:
virtual System::Object ^ CreateInstance(IServiceProvider ^ provider, Type ^ objectType, cli::array <Type ^> ^ argTypes, cli::array <System::Object ^> ^ args);
public virtual object CreateInstance(IServiceProvider provider, Type objectType, Type[] argTypes, object[] args);
abstract member CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
override this.CreateInstance : IServiceProvider * Type * Type[] * obj[] -> obj
Public Overridable Function CreateInstance (provider As IServiceProvider, objectType As Type, argTypes As Type(), args As Object()) As Object
參數
- provider
- IServiceProvider
一個可選的服務提供者。
- objectType
- Type
要創造的物件類型。 此參數永遠不是 null。
- argTypes
- Type[]
一個可選的類型陣列,代表要傳遞給物件建構子的參數類型。 此陣列長度可為 null 零或。
- args
- Object[]
一個可選的參數值陣列,可傳遞給物件的建構子。
傳回
代入 Object。
備註
IServiceProvider由參數指定的 provider 由類別的方法TypeDescriptor傳遞。TypeDescriptor.CreateInstance 若 provider 不是 null,則可由型別描述提供者使用服務提供者取得建立呼叫的額外上下文。
CreateInstance該方法為 virtual ,且預設回傳若為 ,null則返回該方法的Activator.CreateInstance結果。parent 若 parent 不是 null,此方法將啟動 CreateInstance 母提供者的方法。
給繼承者的注意事項
如果導出類別不願意提供替代實例,它應該直接呼叫基礎實作。