Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Здесь есть возможность читать онлайн «Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва • Санкт-Петербург • Киев, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML. Книга содержит множество примеров программного кода, призванного помочь читателю в освоении предлагаемого материала. Программный код примеров можно загрузить с Web-сайта издательства.

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

Console.WriteLine(");

}

Отображение реализованных интерфейсов

Теперь построим метод ListInterfaces(), который будет печатать имена интерфейсов, поддерживаемых указанным на входе типом. Единственным заслуживающим внимания моментом здесь является вызов GetInterfaces(), возвращающий массив System.Types. Это логично, поскольку интерфейсы тоже являются типами.

// Отображение реализованных интерфейсов.

public static void ListInterfaces(Type t) {

Console.WriteLine("***** Интерфейсы *****");

Type[] ifaсes = t.GetInterfaces();

foreach (Type i in ifaces) Console.WriteLine("-› {0}", i.Name);

}

Отображение вспомогательной информации

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

// Отображаются для полноты картины.

public static void ListVariousStats(Type t) {

Console.WriteLine("***** Вcпомогательная информация *****");

Console.WriteLine("Базовый класс: {0}", t. BaseType);

Console.WriteLine("Это абстрактный тип? {0}", t. IsAbstract);

Console.WriteLine("Это изолированный тип? {'0}", t.IsSealed);

Console.WriteLine("Это обобщенный тип? {0}", t. IsGenericTypeDefinition);

Console.WriteLine("Это тип класса? {0}", t. IsClass);

Console.WriteLine(");

}

Реализация Main()

Метод Main() класса Program запрашивает у пользователя абсолютное имя типа. После получения строковых данных они передаются методу Туре.GetType(), а извлеченный объект System.Type отправляется каждому из вспомогательных методов. Это повторяется до тех пор, пока пользователь не нажмет клавишу ‹Q›, чтобы завершить выполнение приложения.

// Здесь необходимо указать пространство имен отображения.

using System;

using System.Reflection;

...

static void Main(string[] args) {

Console.WriteLine("***** Добро пожаловать в MyTypeViewer! *****");

string typeName = ";

bool userIsDone = false;

do {

Console.WriteLine("\nВведите имя типа");

Console.Write("или нажмите Q для выхода из приложения: ");

// Получение имени типа.

typeName = Console.ReadLine();

// Желает ли пользователь завершить работу приложения?

if (typeName.ToUpper() = "Q") {

userIsDone = true;

break;

}

// Попытка отображения типа.

try {

Type t = Type.GetType(typeName);

Console.WriteLine("");

ListVariousStats(t);

ListFields(t);

ListProps(t);

ListMethods(t);

ListInterfaces(t);

} catch {

Console.WriteLine("Извините, указанный тип не найден");

}

} while (userIsDone);

}

К этому моменту приложение MyTypeViewer.exe уже готово для тестового запуска. Запустите это приложение и введите следующие абсолютные имена (помните о том, что при используемом здесь варианте вызова Туре.GetType() строки имен оказываются чувствительными к регистру символов).

• System.Int32

• System.Collections.ArrayList

• System.Threading.Thread

• System.Void

• System.IO.BinaryWriter

• System.Math

• System.Console

• MyTypeViewer.Program

На рис. 12.2 показана информация для случая, соответствующего выбору типа System.Math.

Риc 122 Отображение SystemMath Отображение параметров и возвращаемых - фото 153

Риc. 12.2. Отображение System.Math

Отображение параметров и возвращаемых значений методов

Итак, всё работает. Теперь немного усовершенствуем наше приложение. В частности, модифицируем вспомогательную функцию ListMethods(), чтобы получать не только имя метода, но и возвращаемое значение, а также входные параметры. Для решения именно таких задач тип MethodInfo предлагает свойство ReturnType и метод GetParameters() .

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

public static void ListMethods(Type t) {

Console.WriteLine(***** Методы *****");

MethodInfo[] mi = t.GetMethods();

foreach (MethodInfo m in mi) {

// Получение возвращаемого значения.

string retVal = m.ReturnType.FullName;

string paramInfo = "(";

// Получение параметров.

foreach (ParameterInfo pi in m.GetParameters()) {

paramInfo += string.Format("{0} {1}", pi.ParameterType, pi.Name);

}

paramInfo += ")";

// Отображение основных характеристик метода.

Console.WriteLine("-›{0} {1} (2}", retVal, m.Name, paramInfo);

}

Console.WriteLine(");

}

Если выполнить это обновленное приложение теперь, методы соответствующего типа будут описаны более подробно. Для примера на рис. 12.3 показаны метаданные методов для типа System.Globalization.GregorianCalendar.

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

Интервал:

Закладка:

Сделать

Похожие книги на «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»

Представляем Вашему вниманию похожие книги на «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»

Обсуждение, отзывы о книге «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x