TypeDescriptor.AddProvider Метод

Определение

Добавляет поставщик описания типа в список поставщиков для этого дескриптора типа.

Перегрузки

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.

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) если необходимо вызвать из частично доверенного кода.

См. также раздел

Применяется к