TypeDescriptor.AddProvider 方法

定義

將類型描述提供者加入這個類型描述元的提供者清單。

多載

AddProvider(TypeDescriptionProvider, Object)

加入元件之單一執行個體的類型描述提供者。

AddProvider(TypeDescriptionProvider, Type)

加入元件類別的類型描述提供者。

AddProvider(TypeDescriptionProvider, Object)

來源:
TypeDescriptor.cs
來源:
TypeDescriptor.cs
來源:
TypeDescriptor.cs

加入元件之單一執行個體的類型描述提供者。

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)

參數

instance
Object

目標元件的執行個體。

例外狀況

其中一或二個參數都為 null

備註

方法 AddProvider(TypeDescriptionProvider, Object) 會新增類型描述提供者,以提供元件單一實例的類型資訊。 如果這個方法新增提供者,則不會呼叫提供者的 CreateInstance 方法,因為實例已經存在。

這個方法不會維護元件的硬式參考,因此不會防止元件完成。

可以為相同類型或物件新增多個類型描述提供者。 如果發生這種情況,將會獨佔使用提供類型資訊的第一個類型描述提供者。 由於類型資訊提供者會儲存在堆疊中,因此最後一個新增的提供者將是第一個查詢的提供者。 此行為可讓 AddProvider(TypeDescriptionProvider, Object)RemoveProvider 方法,根據特定案例的需求來推送和快顯類型描述提供者。

如果成功,這個方法會在 Refresh(Object) 參數上 instance 呼叫 方法。

注意

這個方法的兩個版本會產生具有不同範圍的結果。 AddProvider接受Object參數的方法只會影響指定之元件的單一實例。 相反地,採用 參數的其他多載 Type 會影響該類型所描述之元件的所有實例。

AddProviderTransparent(TypeDescriptionProvider, Object)如果您需要從部分信任的程式代碼呼叫 ,請使用 方法。

另請參閱

適用於

AddProvider(TypeDescriptionProvider, Type)

來源:
TypeDescriptor.cs
來源:
TypeDescriptor.cs
來源:
TypeDescriptor.cs

加入元件類別的類型描述提供者。

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)

參數

type
Type

目標元件的 Type

例外狀況

其中一或二個參數都為 null

備註

方法 AddProvider(TypeDescriptionProvider, Type) 會新增類型描述提供者,以提供指定類別、衍生類別和這些類型之所有實例的類型資訊。

注意

參數 type 可以是任何類型,包括介面。 例如,若要為所有元件提供自訂類型和實例資訊,您可以指定 typeof(IComponent)typeof(object)傳遞會呼叫提供者,以提供所有型別的類型資訊。

這個方法不會維護任何物件的硬式參考,因此不會防止物件完成。

可以為相同類型或物件新增多個類型描述提供者。 如果發生這種情況,將會獨佔使用提供類型資訊的第一個類型描述提供者。 因為類型資訊提供者會儲存在堆疊中,所以最後一個新增的提供者會是第一個查詢的提供者。 此行為可讓 AddProvider(TypeDescriptionProvider, Type)RemoveProvider 方法,根據特定案例的需求來推送和快顯類型描述提供者。

如果成功,這個方法會在 Refresh(Type) 參數上 type 呼叫 方法。

注意

這個方法的兩個版本會產生具有不同範圍的結果。 AddProvider接受Object參數的方法只會影響指定之元件的單一實例。 相反地,採用 參數的其他多載 Type 會影響該類型所描述之元件的所有實例。

AddProviderTransparent(TypeDescriptionProvider, Type)如果您需要從部分信任的程式代碼呼叫 ,請使用 方法。

另請參閱

適用於