TypeDescriptor.AddProvider Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет поставщика описания типа в список поставщиков для дескриптора этого типа.
Перегрузки
| Имя | Описание |
|---|---|
| AddProvider(TypeDescriptionProvider, Object) |
Добавляет поставщик описания типа для одного экземпляра компонента. |
| AddProvider(TypeDescriptionProvider, Type) |
Добавляет поставщик описания типа для класса компонента. |
AddProvider(TypeDescriptionProvider, Object)
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- 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)
Параметры
- provider
- TypeDescriptionProvider
Добавляемый TypeDescriptionProvider объект.
- instance
- Object
Экземпляр целевого компонента.
Исключения
Один или оба параметра являются null.
Комментарии
Метод AddProvider(TypeDescriptionProvider, Object) добавляет поставщик описания типа, предоставляющий сведения о типе для одного экземпляра компонента. Если поставщик добавляется этим методом, метод поставщика CreateInstance не будет вызываться, так как экземпляр уже существует.
Этот метод не поддерживает жесткую ссылку на компонент, поэтому он не препятствует завершению компонента.
Можно добавить несколько поставщиков описания типов для одного типа или объекта. В этом случае поставщик описания первого типа, который предоставляет сведения о типе, будет использоваться исключительно. Так как поставщики сведений о типах хранятся в стеке, последний добавленный поставщик будет первым запросом. Это поведение позволяет AddProvider(TypeDescriptionProvider, Object) использовать методы RemoveProvider и методы для отправки и всплывающего описания типов, необходимых для конкретных сценариев.
В случае успешного Refresh(Object) выполнения этот метод вызывает метод в параметре instance .
Note
Две версии этого метода создают результаты с различными областями. Метод AddProvider , который принимает Object параметр, влияет только на один экземпляр указанного компонента. В отличие от этого, другая перегрузка, которая принимает Type параметр, влияет на все экземпляры компонента, описанного этим типом.
Используйте метод, AddProviderTransparent(TypeDescriptionProvider, Object) если необходимо вызвать из частично доверенного кода.
См. также раздел
Применяется к
AddProvider(TypeDescriptionProvider, Type)
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- TypeDescriptor.cs
- Исходный код:
- 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)
Параметры
- provider
- TypeDescriptionProvider
Добавляемый TypeDescriptionProvider объект.
Исключения
Один или оба параметра являются null.
Комментарии
Метод AddProvider(TypeDescriptionProvider, Type) добавляет поставщик описания типа, предоставляющий сведения о типе для указанного класса, производных классов и всех экземпляров этих типов.
Note
Параметр type может быть любым типом, включая интерфейс. Например, чтобы указать сведения о пользовательском типе и экземпляре для всех компонентов, необходимо указать typeof(IComponent). Передача typeof(object) вызовет поставщика для предоставления сведений о типе для всех типов.
Этот метод не поддерживает жесткую ссылку на любой объект, поэтому он не препятствует завершению объектов.
Можно добавить несколько поставщиков описания типов для одного типа или объекта. В этом случае поставщик описания первого типа, который предоставляет сведения о типе, будет использоваться исключительно. Так как поставщики сведений о типах хранятся в стеке, последний добавленный поставщик будет первым запросом. Это поведение позволяет AddProvider(TypeDescriptionProvider, Type) использовать методы RemoveProvider и методы для отправки и всплывающего описания типов, необходимых для конкретных сценариев.
В случае успешного Refresh(Type) выполнения этот метод вызывает метод в параметре type .
Note
Две версии этого метода создают результаты с различными областями. Метод AddProvider , который принимает Object параметр, влияет только на один экземпляр указанного компонента. В отличие от этого, другая перегрузка, которая принимает Type параметр, влияет на все экземпляры компонента, описанного этим типом.
Используйте метод, AddProviderTransparent(TypeDescriptionProvider, Type) если необходимо вызвать из частично доверенного кода.