Поделиться через


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

Происходит при очистке кэша компонента.

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

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