Герберт Шилдт - C# 4.0 полное руководство - 2011

Здесь есть возможность читать онлайн «Герберт Шилдт - C# 4.0 полное руководство - 2011» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# 4.0 полное руководство - 2011: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# 4.0 полное руководство - 2011»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# 4.0 полное руководство - 2011 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# 4.0 полное руководство - 2011», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Применение оператора typeof

Несмотря на всю свою полезность, операторы as и is проверяют лишь совместимость двух типов. Но зачастую требуется информация о самом типе. Для этой цели в C# предусмотрен оператор typeof. Он извлекает объект класса System. Туре для заданного типа. С помощью этого объекта можно определить характеристики конкретного типа данных. Ниже приведена общая форма оператора typeof:

typeof( тип)

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

Получив объект класса Туре для заданного типа, можно извлечь информацию о нем, используя различные свойства, поля и методы, определенные в классе Туре. Класс Туре довольно обширен и содержит немало членов, поэтому его рассмотрение придется отложить до следующего раздела, посвященного рефлексии. Но в качестве краткого введения в этот класс ниже приведена программа, в которой используются три его свойства: FullName, IsClass и IsAbstract. Для получения полного имени типа служит свойство FullName. Свойство IsClass возвращает логическое значение true, если тип относится к классу. А свойство IsAbstract возвращает логическое значение true, если класс является абстрактным.

// Продемонстрировать применение оператора typeof.

using System; using System.10;

class UseTypeof {

static void Main() {

Type t = typeof(StreamReader);

Console.WriteLine(t.FullName);

if (t.IsClass) Console.WriteLine("Относится к классу."); if (t.IsAbstract) Console.WriteLine("Является абстрактным классом."); else Console.WriteLine("Является конкретным классом.");

}

}

Эта программа дает следующий результат.

System.10.StreamReader Относится к классу.

Является конкретным классом.

В данной программе сначала извлекается объект класса Туре, описывающий тип StreamReader. Затем выводится полное имя этого типа данных и определяется его принадлежность к классу, а далее — к абстрактному или конкретному классу.

Рефлексия

Рефлексия — это средство, позволяющее получать сведения о типе данных. Термин рефлексия, или отражение, происходит от принципа действия этого средства: объект класса Туре отражает базовый тип, который он представляет. Для получения информации о типе данных объекту класса Туре делаются запросы, а он возвращает (отражает) обратно информацию, связанную с определяемым типом. Рефлексия является эффективным механизмом, поскольку она позволяет выявлять и использовать возможности типов данных, известные только во время выполнения.

Многие классы, поддерживающие рефлексию, входят в состав прикладного интерфейса .NET Reflection API, относящегося к пространству имен System. Reflection. Поэтому для применения рефлексии в код программы обычно вводится следующая строка.

using System.Reflection;

Класс System. Type - ядро подсистемы рефлексии

Класс System. Туре составляет ядро подсистемы рефлексии, поскольку он инкапсулирует тип данных. Он содержит многие свойства и методы, которыми можно

пользоваться для получения информации о типе данных во время выполнения. Класс Туре является производным от абстрактного класса System. Re flection. Member Inf о.

В классе Member Inf о определены приведенные ниже свойства, доступные только для чтения.

Свойство

Описание

Type DeclaringType

Тип класса или интерфейса, в котором объявляется отражаемый член

MemberTypes MemberType

Тип члена. Это значение обозначает, является ли член по

лем, методом, свойством, событием или конструктором

int MetadataToken

Значение, связанное к конкретными метаданными

Module Module

Объект типа Module,представляющий модуль (исполняемый файл), в котором находится отражаемый тип

string Name

Имя типа

Type ReflectedType

Тип отражаемого объекта

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «C# 4.0 полное руководство - 2011»

Представляем Вашему вниманию похожие книги на «C# 4.0 полное руководство - 2011» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# 4.0 полное руководство - 2011»

Обсуждение, отзывы о книге «C# 4.0 полное руководство - 2011» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x