TypeDescriptor Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет сведения о характеристиках компонента, таких как атрибуты, свойства и события. Этот класс не может быть унаследован.
public ref class TypeDescriptor sealed
public sealed class TypeDescriptor
type TypeDescriptor = class
Public NotInheritable Class TypeDescriptor
- Наследование
-
TypeDescriptor
Комментарии
Платформа .NET Framework предоставляет два способа доступа к метаданным типа: API отражения, предоставляемый в пространстве имен System.Reflection, и класс TypeDescriptor. Отражение — это общий механизм, доступный всем типам, так как его основу устанавливается в методе GetType корневого Object класса. Сведения, возвращаемые для типа, не расширяемы, в том случае, если он не может быть изменен после компиляции целевого типа. Дополнительные сведения см. в разделах отражения.
Напротив, TypeDescriptor — это расширяемый механизм проверки компонентов: те классы, которые реализуют интерфейс IComponent. В отличие от отражения, он не проверяет методы. TypeDescriptor можно динамически расширить несколькими службами, доступными через Siteцелевого компонента. В следующей таблице показаны эти службы.
Имя службы | Описание |
---|---|
IExtenderProvider | Позволяет другому классу, например ToolTip, предоставлять дополнительные свойства компоненту. |
ITypeDescriptorFilterService | Позволяет другому объекту изменять стандартные метаданные, предоставляемые компонентом. |
ICustomTypeDescriptor | Позволяет классу полностью и динамически указывать собственные метаданные, заменяя стандартный механизм проверки TypeDescriptor. |
Расширяемость, предоставляемая TypeDescriptor, позволяет представлению компонента во время разработки отличаться от фактического представления времени выполнения, что делает TypeDescriptor полезным для создания инфраструктуры времени разработки.
Все методы в TypeDescriptorstatic
. Невозможно создать экземпляр этого класса, и этот класс не может быть унаследован.
Можно задать значения свойств и событий двумя разными способами: указать их в классе компонентов или изменить их во время разработки. Так как эти значения можно задать двумя способами, перегруженные методы TypeDescriptor принимают два различных типа параметров: тип класса или экземпляр объекта.
Если вы хотите получить доступ к TypeDescriptor информации и у вас есть экземпляр объекта, используйте метод, вызывающий компонент. Используйте метод, вызывающий тип класса только в том случае, если у вас нет экземпляра объекта.
Свойства и события кэшируются TypeDescriptor для скорости. Как правило, они являются константами для времени существования объекта. Однако поставщики и конструкторы расширений могут изменять набор свойств объекта. В этом случае необходимо вызвать метод Refresh для обновления кэша.
Свойства
ComNativeDescriptorHandler |
Устаревшие..
Устаревшие..
Устаревшие..
Устаревшие..
Возвращает или задает поставщик сведений о типе объектной модели компонента (COM) для целевого компонента. |
ComObjectType |
Возвращает тип объекта "Объектная модель компонента" (COM), представленный целевым компонентом. |
InterfaceType |
Возвращает тип, представляющий поставщик описания типа для всех типов интерфейса. |
Методы
AddAttributes(Object, Attribute[]) |
Добавляет атрибуты уровня класса в целевой экземпляр компонента. |
AddAttributes(Type, Attribute[]) |
Добавляет атрибуты уровня класса в целевой тип компонента. |
AddEditorTable(Type, Hashtable) |
Добавляет таблицу редактора для заданного базового типа редактора. |
AddProvider(TypeDescriptionProvider, Object) |
Добавляет поставщик описания типа для одного экземпляра компонента. |
AddProvider(TypeDescriptionProvider, Type) |
Добавляет поставщик описания типа для класса компонента. |
AddProviderTransparent(TypeDescriptionProvider, Object) |
Добавляет поставщик описания типа для одного экземпляра компонента. |
AddProviderTransparent(TypeDescriptionProvider, Type) |
Добавляет поставщик описания типа для класса компонента. |
CreateAssociation(Object, Object) |
Создает первичную-вторичную связь между двумя объектами. |
CreateDesigner(IComponent, Type) |
Создает экземпляр конструктора, связанный с указанным компонентом и заданным типом конструктора. |
CreateEvent(Type, EventDescriptor, Attribute[]) |
Создает новый дескриптор событий, идентичный существующему дескриптору событий при передаче существующего EventDescriptor. |
CreateEvent(Type, String, Type, Attribute[]) |
Создает дескриптор события, идентичный существующему дескриптору событий, динамически создавая сведения дескриптора из указанного события типа. |
CreateInstance(IServiceProvider, Type, Type[], Object[]) |
Создает объект, который может заменить другой тип данных. |
CreateProperty(Type, PropertyDescriptor, Attribute[]) |
Создает новый дескриптор свойства из существующего дескриптора свойств, используя указанный существующий массив PropertyDescriptor и атрибутов. |
CreateProperty(Type, String, Type, Attribute[]) |
Создает и динамически привязывает дескриптор свойства к типу, используя указанное имя свойства, тип и массив атрибутов. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetAssociation(Type, Object) |
Возвращает экземпляр типа, связанного с указанным первичным объектом. |
GetAttributes(Object) |
Возвращает коллекцию атрибутов для указанного компонента. |
GetAttributes(Object, Boolean) |
Возвращает коллекцию атрибутов для указанного компонента и логическое значение, указывающее, что был создан дескриптор пользовательского типа. |
GetAttributes(Type) |
Возвращает коллекцию атрибутов для указанного типа компонента. |
GetClassName(Object) |
Возвращает имя класса для указанного компонента с помощью дескриптора типа по умолчанию. |
GetClassName(Object, Boolean) |
Возвращает имя класса для указанного компонента с помощью дескриптора пользовательского типа. |
GetClassName(Type) |
Возвращает имя класса для указанного типа. |
GetComponentName(Object) |
Возвращает имя указанного компонента с помощью дескриптора типа по умолчанию. |
GetComponentName(Object, Boolean) |
Возвращает имя указанного компонента с помощью дескриптора пользовательского типа. |
GetConverter(Object) |
Возвращает преобразователь типов для типа указанного компонента. |
GetConverter(Object, Boolean) |
Возвращает преобразователь типов для типа указанного компонента с дескриптором пользовательского типа. |
GetConverter(Type) |
Возвращает преобразователь типов для указанного типа. |
GetConverterFromRegisteredType(Object) |
Возвращает преобразователь типов для типа указанного компонента. |
GetConverterFromRegisteredType(Type) |
Возвращает преобразователь типов для указанного зарегистрированного типа. |
GetDefaultEvent(Object) |
Возвращает событие по умолчанию для указанного компонента. |
GetDefaultEvent(Object, Boolean) |
Возвращает событие по умолчанию для компонента с пользовательским дескриптором типа. |
GetDefaultEvent(Type) |
Возвращает событие по умолчанию для указанного типа компонента. |
GetDefaultProperty(Object) |
Возвращает свойство по умолчанию для указанного компонента. |
GetDefaultProperty(Object, Boolean) |
Возвращает свойство по умолчанию для указанного компонента с дескриптором пользовательского типа. |
GetDefaultProperty(Type) |
Возвращает свойство по умолчанию для указанного типа компонента. |
GetEditor(Object, Type) |
Возвращает редактор с указанным базовым типом для указанного компонента. |
GetEditor(Object, Type, Boolean) |
Возвращает редактор с указанным базовым типом и дескриптором пользовательского типа для указанного компонента. |
GetEditor(Type, Type) |
Возвращает редактор с указанным базовым типом для указанного типа. |
GetEvents(Object) |
Возвращает коллекцию событий для указанного компонента. |
GetEvents(Object, Attribute[]) |
Возвращает коллекцию событий для указанного компонента, используя указанный массив атрибутов в качестве фильтра. |
GetEvents(Object, Attribute[], Boolean) |
Возвращает коллекцию событий для указанного компонента, используя указанный массив атрибутов в качестве фильтра и используя дескриптор пользовательского типа. |
GetEvents(Object, Boolean) |
Возвращает коллекцию событий для указанного компонента с дескриптором пользовательского типа. |
GetEvents(Type) |
Возвращает коллекцию событий для указанного типа компонента. |
GetEvents(Type, Attribute[]) |
Возвращает коллекцию событий для указанного типа компонента, используя указанный массив атрибутов в качестве фильтра. |
GetEventsFromRegisteredType(Type) |
Возвращает коллекцию событий для указанного типа компонента. |
GetFullComponentName(Object) |
Возвращает полное имя компонента. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetProperties(Object) |
Возвращает коллекцию свойств для указанного компонента. |
GetProperties(Object, Attribute[]) |
Возвращает коллекцию свойств для указанного компонента, используя указанный массив атрибутов в качестве фильтра. |
GetProperties(Object, Attribute[], Boolean) |
Возвращает коллекцию свойств для указанного компонента, используя указанный массив атрибутов в качестве фильтра и используя дескриптор пользовательского типа. |
GetProperties(Object, Boolean) |
Возвращает коллекцию свойств для указанного компонента с помощью дескриптора типа по умолчанию. |
GetProperties(Type) |
Возвращает коллекцию свойств для указанного типа компонента. |
GetProperties(Type, Attribute[]) |
Возвращает коллекцию свойств для указанного типа компонента, используя указанный массив атрибутов в качестве фильтра. |
GetPropertiesFromRegisteredType(Object) |
Возвращает коллекцию свойств для указанного компонента. |
GetPropertiesFromRegisteredType(Type) |
Возвращает коллекцию свойств для указанного типа. |
GetProvider(Object) |
Возвращает поставщик описания типа для указанного компонента. |
GetProvider(Type) |
Возвращает поставщик описания типа для указанного типа. |
GetReflectionType(Object) |
Возвращает Type, который можно использовать для выполнения отражения, учитывая объект. |
GetReflectionType(Type) |
Возвращает Type, который можно использовать для отражения с учетом типа класса. |
GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
Refresh(Assembly) |
Очищает свойства и события для указанной сборки из кэша. |
Refresh(Module) |
Очищает свойства и события для указанного модуля из кэша. |
Refresh(Object) |
Очищает свойства и события для указанного компонента из кэша. |
Refresh(Type) |
Очищает свойства и события для указанного типа компонента из кэша. |
RegisterType<T>() |
Регистрирует тип, чтобы его можно было использовать поставщиками на основе отражения в обрезаемых приложениях. |
RemoveAssociation(Object, Object) |
Удаляет связь между двумя объектами. |
RemoveAssociations(Object) |
Удаляет все связи для первичного объекта. |
RemoveProvider(TypeDescriptionProvider, Object) |
Удаляет ранее добавленный поставщик описания типов, связанный с указанным объектом. |
RemoveProvider(TypeDescriptionProvider, Type) |
Удаляет ранее добавленный поставщик описания типа, связанный с указанным типом. |
RemoveProviderTransparent(TypeDescriptionProvider, Object) |
Удаляет ранее добавленный поставщик описания типов, связанный с указанным объектом. |
RemoveProviderTransparent(TypeDescriptionProvider, Type) |
Удаляет ранее добавленный поставщик описания типа, связанный с указанным типом. |
SortDescriptorArray(IList) |
Сортирует дескрипторы с помощью имени дескриптора. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
События
Refreshed |
Происходит при очистке кэша компонента. |
Применяется к
См. также раздел
- EventDescriptor
- PropertyDescriptor
- System.Reflection
- IComponent
- ISite
- Обзор дескриптора типа
- отражения