TypeDescriptionProvider Класс

Определение

Предоставляет дополнительные метаданные для TypeDescriptor.

public ref class TypeDescriptionProvider abstract
public abstract class TypeDescriptionProvider
type TypeDescriptionProvider = class
Public MustInherit Class TypeDescriptionProvider
Наследование
TypeDescriptionProvider
Производный

Комментарии

Класс TypeDescriptionProvider динамически расширяет сведения о типе, связанном с типом или объектом, добавляя, изменяя или скрывая характеристики, такие как атрибуты, свойства и события. Существует несколько классов поставщиков описания типов, которые предоставляют метаданные одному TypeDescriptor.

Существует два способа связывания TypeDescriptionProvider с TypeDescriptor:

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

  • Во время выполнения можно вызвать один из методов AddProvider класса TypeDescriptor. Для этих перегруженных методов требуется целевой объект или его тип класса.

Класс TypeDescriptionProvider использует родительский объект одного типа, предоставленный во время строительства. Это позволяет классам, производным от CustomTypeDescriptor, выборочно переопределять методы.

Экземпляры TypeDescriptionProvider создаются только по требованию, минимизируя влияние сведений о пользовательском типе на производительность.

Примечания для тех, кто реализует этот метод

Производный тип может быть помечен как internal или private, но экземпляр типа можно создать с помощью класса TypeDescriptor. Не записывайте небезопасный код, предполагая, что вызывающий объект является доверенным. Предположим, что вызывающие объекты могут создавать экземпляры типа в частичном доверии.

Конструкторы

TypeDescriptionProvider()

Инициализирует новый экземпляр класса TypeDescriptionProvider.

TypeDescriptionProvider(TypeDescriptionProvider)

Инициализирует новый экземпляр класса TypeDescriptionProvider с помощью поставщика описания родительского типа.

Свойства

RequireRegisteredTypes

Возвращает значение, указывающее, использует ли поставщик отражение и требует регистрации типов через RegisterType<T>() для поддержки обрезаемых приложений.

Методы

CreateInstance(IServiceProvider, Type, Type[], Object[])

Создает объект, который может заменить другой тип данных.

Equals(Object)

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

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

Получает кэш для каждого объекта, доступ к который выполняется в виде IDictionary пар "ключ-значение".

GetExtendedTypeDescriptor(Object)

Возвращает расширенный дескриптор пользовательского типа для данного объекта.

GetExtendedTypeDescriptorFromRegisteredType(Object)

Возвращает расширенный дескриптор пользовательского типа для данного объекта.

GetExtenderProviders(Object)

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

GetFullComponentName(Object)

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

GetHashCode()

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

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

Выполняет нормальное отражение для заданного объекта.

GetReflectionType(Type)

Выполняет нормальное отражение для типа.

GetReflectionType(Type, Object)

Выполняет нормальное отражение для заданного объекта с заданным типом.

GetRuntimeType(Type)

Преобразует тип отражения в тип среды выполнения.

GetType()

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

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

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

GetTypeDescriptor(Type)

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

GetTypeDescriptor(Type, Object)

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

GetTypeDescriptorFromRegisteredType(Object)

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

GetTypeDescriptorFromRegisteredType(Type)

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

GetTypeDescriptorFromRegisteredType(Type, Object)

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

IsRegisteredType(Type)

Определяет, был ли тип зарегистрирован в поставщике через RegisterType<T>().

IsSupportedType(Type)

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

MemberwiseClone()

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

(Унаследовано от Object)
RegisterType<T>()

Регистрирует тип, чтобы его можно было использовать поставщиками на основе отражения в обрезаемых приложениях.

ToString()

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

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

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

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