TypeDescriptor.AddProvider 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將類型描述提供者加入這個類型描述元的提供者清單。
多載
AddProvider(TypeDescriptionProvider, Object) |
加入元件之單一執行個體的類型描述提供者。 |
AddProvider(TypeDescriptionProvider, Type) |
加入元件類別的類型描述提供者。 |
AddProvider(TypeDescriptionProvider, Object)
加入元件之單一執行個體的類型描述提供者。
public:
static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, System::Object ^ instance);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, object instance);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * obj -> unit
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, instance As Object)
參數
- provider
- TypeDescriptionProvider
要加入的 TypeDescriptionProvider。
- instance
- Object
目標元件的執行個體。
例外狀況
其中一或二個參數都為 null
。
備註
方法 AddProvider(TypeDescriptionProvider, Object) 會新增類型描述提供者,以提供元件單一實例的類型資訊。 如果這個方法新增提供者,則不會呼叫提供者的 CreateInstance 方法,因為實例已經存在。
這個方法不會維護元件的硬式參考,因此不會防止元件完成。
可以為相同類型或物件新增多個類型描述提供者。 如果發生這種情況,將會獨佔使用提供類型資訊的第一個類型描述提供者。 由於類型資訊提供者會儲存在堆疊中,因此最後一個新增的提供者將是第一個查詢的提供者。 此行為可讓 AddProvider(TypeDescriptionProvider, Object) 和 RemoveProvider 方法,根據特定案例的需求來推送和快顯類型描述提供者。
如果成功,這個方法會在 Refresh(Object) 參數上 instance
呼叫 方法。
注意
這個方法的兩個版本會產生具有不同範圍的結果。 AddProvider接受Object參數的方法只會影響指定之元件的單一實例。 相反地,採用 參數的其他多載 Type 會影響該類型所描述之元件的所有實例。
AddProviderTransparent(TypeDescriptionProvider, Object)如果您需要從部分信任的程式代碼呼叫 ,請使用 方法。
另請參閱
適用於
AddProvider(TypeDescriptionProvider, Type)
加入元件類別的類型描述提供者。
public:
static void AddProvider(System::ComponentModel::TypeDescriptionProvider ^ provider, Type ^ type);
public static void AddProvider (System.ComponentModel.TypeDescriptionProvider provider, Type type);
static member AddProvider : System.ComponentModel.TypeDescriptionProvider * Type -> unit
Public Shared Sub AddProvider (provider As TypeDescriptionProvider, type As Type)
參數
- provider
- TypeDescriptionProvider
要加入的 TypeDescriptionProvider。
例外狀況
其中一或二個參數都為 null
。
備註
方法 AddProvider(TypeDescriptionProvider, Type) 會新增類型描述提供者,以提供指定類別、衍生類別和這些類型之所有實例的類型資訊。
注意
參數 type
可以是任何類型,包括介面。 例如,若要為所有元件提供自訂類型和實例資訊,您可以指定 typeof(IComponent)
。 typeof(object)
傳遞會呼叫提供者,以提供所有型別的類型資訊。
這個方法不會維護任何物件的硬式參考,因此不會防止物件完成。
可以為相同類型或物件新增多個類型描述提供者。 如果發生這種情況,將會獨佔使用提供類型資訊的第一個類型描述提供者。 因為類型資訊提供者會儲存在堆疊中,所以最後一個新增的提供者會是第一個查詢的提供者。 此行為可讓 AddProvider(TypeDescriptionProvider, Type) 和 RemoveProvider 方法,根據特定案例的需求來推送和快顯類型描述提供者。
如果成功,這個方法會在 Refresh(Type) 參數上 type
呼叫 方法。
注意
這個方法的兩個版本會產生具有不同範圍的結果。 AddProvider接受Object參數的方法只會影響指定之元件的單一實例。 相反地,採用 參數的其他多載 Type 會影響該類型所描述之元件的所有實例。
AddProviderTransparent(TypeDescriptionProvider, Type)如果您需要從部分信任的程式代碼呼叫 ,請使用 方法。