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