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

Тут можно читать онлайн Герберт Шилдт - C# 4.0: полное руководство - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство ООО И.Д. Вильямс, год 2011. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C# 4.0: полное руководство
  • Автор:
  • Жанр:
  • Издательство:
    ООО И.Д. Вильямс
  • Год:
    2011
  • Город:
    Москва -- Киев
  • ISBN:
    978-5-8459-1684-6
  • Рейтинг:
    3.93/5. Голосов: 141
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

C# 4.0: полное руководство - описание и краткое содержание, автор Герберт Шилдт, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки.


Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

C# 4.0: полное руководство - читать онлайн бесплатно ознакомительный отрывок

C# 4.0: полное руководство - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Герберт Шилдт
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

// Использовать оператор is для предотвращения неправильного приведения типов.

using System;

class A { }

class В : A { }

class CheckCast {

static void Main() {

A a = new A();

В b = new В();

// Проверить, можно ли привести а к типу В.

if (a is В) // если да, то выполнить приведение типов

b = (В)a;

else // если нет, то пропустить приведение типов

b = null;

if (b == null)

Console.WriteLine("Приведение типов b = (В) HE допустимо.");

else

Console.WriteLine("Приведение типов b = (В) допустимо.");

}

}

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

Приведение типов b = (В) НЕ допустимо.

Как следует из результата выполнения приведенной выше программы, тип объекта а не совместим с типом В, и поэтому его приведение к типу В не допустимо и предотвращается в условном операторе if. Но такую проверку приходится выполнять в два этапа. Сначала требуется убедиться в обоснованности операции приведения типов, а затем выполнить ее. Оба этапа могут быть объединены в один с помощью оператора as, как демонстрирует приведенная ниже программа.

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

using System;

class A {}

class В : A {}

class CheckCast {

static void Main() {

A a = new A();

В b = new В();

b = a as В; // выполнить приведение типов, если это возможно

if(b==null)

Console.WriteLine("Приведение типов b = (В) НЕ допустимо.");

else

Console.WriteLine("Приведение типов b = (В) допустимо.");

}

}

Эта программа дает прежний результат.

Приведение типов b = (В) НЕ допустимо.

В данном варианте программы в одном и том же операторе asсначала проверяется обоснованность операции приведения типов, а затем выполняется сама операция приведения типов, если она допустима.

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

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

typeof(тип)

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

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

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

using System;

using System.IO;

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.Reflection.MemberInfо.

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

Свойство - Описание

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

MemberTypes MemberType- Тип члена. Это значение обозначает, является ли член полем, методом, свойством, событием или конструктором

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

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

string Name- Имя типа

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

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

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

Интервал:

Закладка:

Сделать


Герберт Шилдт читать все книги автора по порядку

Герберт Шилдт - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C# 4.0: полное руководство отзывы


Отзывы читателей о книге C# 4.0: полное руководство, автор: Герберт Шилдт. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x