Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Экземпляр типа Type






Экземпляр типа Type может быть представлен любым из следующих типов:

- классы;

- размерные типы (Value types);

- массивы;

- интерфейсы;

- указатели;

- индексаторы (нумераторы).

Ссылка на объект Type, ассоциируемый с типом, может быть получена одним из следующих способов:

- метод Object.GetType возвращает объект Type, представляющий тип заданного экземпляра объекта;

- статический метод GetType возвращает объект Type, который представляет тип, указанный посредством своего полного имени;

- методы Module. GetTypes, Module. GetType, и Module. FindTypes возвращают объект Type, который представляет типы, определенные в модуле. Метод GetTypes позволяет получить массив объектов для всех общедоступных и защищенных типов, определенных в модуле;

- метод FindInterfaces возвращает отфильтрованный список интерфейсов типов, которые поддерживаются данным типом;

- метод GetElementType возвращает объект Type, который представляет элемент;

- методы GetInterfaces и GetInterface возвращают объект Type, который представляет интерфейс, поддерживаемый типом;

- метод GetTypeArray возвращает массив объектов Type, которые представляют типы, заданные посредством набора объектов;

- методы GetTypeFromProgID и GetTypeFromCLSID возвращают объект Type, который указывается через ProgID или CLSID (методы предоставляются для совместимости с СОМ);

- метод GetTypeFromHandle возвращает объект Type, который указывается посредством дескриптора (метод предоставляется для совместимости);

- оператор typeof получает объект Type для указанного типа.

Метаданные - это информация о выполнимом модуле, получаемая во время выполнения приложения. К такой информации относятся и данные о типе. В случае неправильного указания имени типа возникает исключение. Поэтому указание типа следует заключать в блок try - catch.

Например:

 

try

{

Type tp = Type.GetType(s); //тип объекта s

Console.WriteLine(" Имя типа: {0}", tp.FullName);

}

catch (System.NullReferenceException)

{

Console.WriteLine(" Ошибка задания типа");

}

 

Класс Type предоставляет большой набор свойств для запроса информации по типу, включая следующие:

- FullName - возвращает имя типа;

- IsClass - определяет, является ли тип классом;

- IsAbstract - определяет, является ли тип абстрактным классом;

- IsNestedPublic - определяет, является ли тип вложенным и общедоступным;

- IsPublic - определяет, является ли данный тип общедоступным;

- IsNotPublic - определяет, является ли данный тип защищенным;

- IsSealed - определяет, является ли тип конечным (не может быть базовым классом);

- IsArray - определяет, представляет ли указанный тип массив;

- GUID - возвращает значение типа GUID, ассоциированное с данным типом (такое значение хранится в реестре Windows).

- IsNestedAssembly - определяет, является ли тип вложенным и видимым только в своей собственной сборке;

- Module - возвращает модуль (DLL) в котором объявлен данный тип;

- Namespace - возвращает пространство имен, содержащее данный тип;

- Свойство IsByRef позволяет определить, передается ли указанный элемент по типу, а свойство Assembly определяет сборку.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.