Иллюстрированный самоучитель по VB.NET

         

Иллюстрированный самоучитель по VB.NET

Структура книги на диске
Введение
Visual Basic: прошлое и настоящее

Версии Visual Basic
.NET и изменение парадигмы
Common Language Runtime
VB как объектно-ориентированный язык
Структурная обработка ошибок
Многопоточность
Трудности перехода на VB .NET



Сравнение С# с VB .NET

Иллюстрированный самоучитель по VB.NET

Среда программирования VB .NET: Visual Studio .NET
Приступаем к работе
Создание нового решения
Основные окна IDE
Редактор
Многоэлементный буфер обмена
Временное хранение фрагментов

Список задач и комментарии TODO, HACK и UNDONE
Окно решения
Окно свойств
Окно внешних ссылок
Окно вывода и окно команд
Работа с решением
Включение новых проектов

Компиляция
Пакетная компиляция
Отладочная и окончательная версии
Выходные файлы
Отладка в VB.NET
Новые возможности отладчика
Окно памяти
Отладка процессов
Отладка потоков
Управление исключениями

Отладка управляемого и неуправляемого кодов

Иллюстрированный самоучитель по VB.NET


Выражения, операторы и передача управления
Консольные приложения
Команды VB .NET
Комментарии
Переменные и присваивание
Литералы и их соответствие типам данных

Прочие литералы
Объявление переменных
Преобразования разнотипных значений
Строки
Строковые функции
Форматирование данных
Математические операторы

Круглые скобки и приоритет операций
Математические функции и математические константы
Константы
Циклы
Цикл с определенным условием
Циклы с неопределенным условием
Условные команды и принятие решений
Изменения в видимости переменных

Ускоренная проверка
Select Case
GoTo
Логические операторы
Массивы
Массивы с индексацией элементов в заданном интервале
Многомерные массивы
Процедуры и функции
Функции

Процедуры
Преждевременный выход из функций или процедур
Передача массивов функциям и процедурам
Процедуры и функции с необязательными аргументами
Именованные аргументы
Рекурсия

Иллюстрированный самоучитель по VB.NET

Классы и объекты
Введение в ООП
Классы как пользовательские типы
Как объекты взаимодействуют друг с другом?

Терминология ООП
Отношения между классами в программах
Абстракция
Инкапсуляция
Наследование
Полиморфизм
Отладка объектно-ориентированных программ

Итоги
Переход к использованию объектов
Экземпляры
Преимущества ООП
Создание объектов в VB .NET
Параметризованные конструкторы
Пример: класс String

Пример: класс StringBuilder
Хронометраж — насколько быстрее работает класс StringBuilder?
Пространства имен
Импортирование
Класс DirectoryInfo
Справочная система и .NET Framework
Классы коллекций в .NET Framework

ArrayList
Хэш-таблицы
Объектные переменные
Is и Nothing
TypeName и TypeOf
Проблемы с передачей объектных переменных по значению

Определение классов в программе
Атрибуты уровня доступа и создание объектов
Me
Перегрузка членов класса
Снова о конструкторах
Снова о свойствах

Свойства и инкапсуляция
Область видимости переменных
Вложенные классы
Практическое использование вложенных классов на примере связанного списка
Общие данные в классах
Общие члены классов
Жизненный цикл объекта

Уничтожение объектов
Структурные типы
Перечисляемые типы
Структуры
Определение структур в программе
Пространства имен для создаваемых классов
Окно классов

Иллюстрированный самоучитель по VB.NET

Наследование и интерфейсы

Основы наследования
Знакомство с наследованием
Обращение к функциональности базового класса
Переопределение свойств и методов

Как стать начальником?
Просмотр иерархии наследования
Правила преобразования и обращения к членам классов в иерархии наследования
Полиморфизм на практике
Замещение
Абстрактные базовые классы

Пример: класс CollectionBase
Корневой базовый класс Object
Основные методы класса Object
Equals и ReferenceEquals
Метод ToString
Функция GetType и рефлексия
MemberWiseClone

Проблема неустойчивости базовых классов и контроль версии
Интерфейсы
Механика реализации интерфейса

Нетривиальное применение интерфейсов
Выбор между интерфейсами и наследованием
Важнейшие интерфейсы .NET Framework
ICloneable
IDisposable
Коллекции
For Each и интерфейс lEnumerable

ICollection
IList
IDictionary
IComparable
Интерфейс IComparer

Иллюстрированный самоучитель по VB.NET

Обработка событий и делегаты
Обработка событий с точки зрения ООП
Передача данных функциям, вызываемым в результате событий
Простейшее инициирование событий

Подключение приемников к источнику
Все вместе
Построение классов событий
Динамическая обработка событий
Отключение обработчиков событий

Обработка событий в иерархии наследования
Делегаты
Создание делегата
Практический пример: специализированная сортировка
Групповые делегаты
Групповые делегаты как члены классов

Делегаты и события

Иллюстрированный самоучитель по VB.NET


Обработка ошибок в VB .NET
Проверка ошибок и обработка исключений
Подготовка к структурной обработке исключений
Анализ исключений
Наличие нескольких секций Catch
Инициирование исключений

Иерархия исключений
Исключения как замена для goto
Секция Finally
Рекомендации по использованию исключений

Иллюстрированный самоучитель по VB.NET

Формы Windows, графический вывод и печать
Немного истории
Дизайнер форм

Сохранение пропорций: свойства Anchor и Dock
Меню Tab Order
Снова о простой программе
Свойства форм
Элементы меню и новый редактор меню Visual Studio

Контекстные меню
Формы MDI
Диалоговые формы и диалоговые окна
ColorDialog
FontDialog
FileDialog
Создание диалоговых окон
Размещение элементов на форме во время выполнения

Наследование форм
Построение нестандартных элементов на базе наследования
Переопределение события
Добавление новых событий
Добавление новых свойств
Иерархия пространства имен System.Windows.Forms
Средства базового класса Control
События клавиатуры

События проверки
Графика: GDI+
Простейший вывод
Вывод текста
Пример: вывод всех шрифтов в системе
Печать
Многостраничный вывод

О классе PrintPageEventArgs
Элемент PrintDialog и конфигурация печати
Самостоятельное программирование печати

Иллюстрированный самоучитель по VB.NET

Ввод-вывод
Каталоги и файлы
Класс Path
Класс Directory
Классе File
Атрибуты файла

Классы DirectoryInfo и FileInfo
Рекурсивный просмотр дерева каталогов
Важнейшие члены классов FileSystemInfo, FileInfo и DirectoryInfo
Потоки данных
Запись в файл

Чтение и запись двоичных данных: классы BinaryReader и BinaryWriter
TextReader, TextWriter и производные классы
Объектные потоки: сохранение и восстановление объектов
Простая сериализация
Простое восстановление
Применение сериализации при клонировании объектов
Практический пример: динамический список с поддержкой сериализации

Сетевые потоки
Монитор файловой системы

Иллюстрированный самоучитель по VB.NET

Знакомство с многопоточностью

Домены приложений
Следующий шаг: кнопка Show Count
Почему при многопоточном программировании возникает столько проблем?
Создание потоков
Метод Join
Имена потоков, CurrentThread и ThreadState
Окно потоков

Приостановка потока
Завершение или прерывание программных потоков
Приостановка и уничтожение потоков
Фоновые потоки (демоны)
Более серьезный пример: извлечение данных из кода HTML
Главная опасность (общие данные)

Решение проблемы: синхронизация
Команда SyncLock и класс Monitor
Взаимная блокировка
Совместная работа с данными по мере их создания

Многопоточность в графических программах

Иллюстрированный самоучитель по VB.NET

Поддержка баз данных в VB .NET
Почему ADO .NET — не ADO++
Автономные наборы данных: новый подход к работе с базами данных
Классы сборки System.Data.DLL
Пространство имен System.Data.OleDb
System. Data.SqlClient

Вызов хранимой процедуры
Нетривиальный пример работы с базами данных в VB .NET (часть 1)

Иллюстрированный самоучитель по VB.NET

Краткий обзор ASP .NET

Простое web-приложение для ASP .NET
Что передается клиенту?
Файл Web.config

Простая web-служба
Использование web-службы на стороне клиента

Иллюстрированный самоучитель по VB.NET

Сборки .NET, установка приложений и COM Interop
Принципы работы СОМ
Сборки.NET

Манифест
Исследование манифеста
Общие сборки и GAC
Включение и удаление сборок из GAC
Сильные имена и совместное использование сборок
Построение ключей
Сертификация сборки
COM Interop и вызовы функций DLL
Вызовы функций DLL

Содержание раздела