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 создавать инфраструктуру времени разработки.

Все доступные методы TypeDescriptor static. Невозможно создать экземпляр этого класса, и этот класс не может быть унаследован.

Можно задать значения свойств и событий двумя разными способами: указать их в классе компонента или изменить их во время разработки. Так как эти значения можно задать двумя способами, перегруженные методы 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)

Возвращает преобразователь типов для указанного типа.

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[])

Возвращает коллекцию событий для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.

GetFullComponentName(Object)

Возвращает полное имя компонента.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetProperties(Object)

Возвращает коллекцию свойств для указанного компонента.

GetProperties(Object, Attribute[])

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра.

GetProperties(Object, Attribute[], Boolean)

Возвращает коллекцию свойств для указанного компонента, используя заданный массив атрибутов в качестве фильтра и пользовательский дескриптор типа.

GetProperties(Object, Boolean)

Возвращает коллекцию свойств для указанного компонента, используя дескриптор типа по умолчанию.

GetProperties(Type)

Возвращает коллекцию свойств для указанного типа компонента.

GetProperties(Type, Attribute[])

Возвращает коллекцию свойств для указанного типа компонента, используя заданный массив атрибутов в качестве фильтра.

GetProvider(Object)

Возвращает поставщик описания типа для указанного компонента.

GetProvider(Type)

Возвращает поставщик описания типа для указанного типа.

GetReflectionType(Object)

Возвращает тип Type, который может использоваться для выполнения отражения, используя объект.

GetReflectionType(Type)

Возвращает тип Type, который может использоваться для выполнения отражения, используя тип класса.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
Refresh(Assembly)

Удаляет свойства и события для указанной сборки из кэша.

Refresh(Module)

Удаляет свойства и события для указанного модуля из кэша.

Refresh(Object)

Удаляет свойства и события для указанного компонента из кэша.

Refresh(Type)

Удаляет свойства и события для указанного типа компонента из кэша.

RemoveAssociation(Object, Object)

Удаляет ассоциацию между двумя объектами.

RemoveAssociations(Object)

Удаляет все ассоциации для основного объекта.

RemoveProvider(TypeDescriptionProvider, Object)

Удаляет ранее добавленный поставщик описания типа, связанный с указанным объектом.

RemoveProvider(TypeDescriptionProvider, Type)

Удаляет ранее добавленный поставщик описания типа, связанный с указанным типом.

RemoveProviderTransparent(TypeDescriptionProvider, Object)

Удаляет ранее добавленный поставщик описания типа, связанный с указанным объектом.

RemoveProviderTransparent(TypeDescriptionProvider, Type)

Удаляет ранее добавленный поставщик описания типа, связанный с указанным типом.

SortDescriptorArray(IList)

Сортирует дескрипторы по их именам.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Refreshed

Возникает при очистке кэша для компонента.

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

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