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

О книге 2
Введение 3
Visual Basic: прошлое и настоящее 4
Версии Visual Basic 5
.NET и изменение парадигмы. Common Language Runtime. 6
VB как объектно-ориентированный язык 7
Автоматическая сборка мусора (ликвидация утечки памяти). Структурная обработка ошибок. Многопоточность. 8
Трудности перехода на VB.NET 9
Сравнение С# с VB.NET 10
Среда программирования VB.NET: Visual Studio .NET 11
Приступаем к работе 12
Создание нового решения 13
Основные окна IDE 16
Редактор 17
Окно решения. Окно свойств. 20
Окно внешних ссылок 21
Окно вывода и окно команд 22
Работа с решением 23
Включение новых проектов 26
Компиляция 27
Пакетная компиляция 28
Параметры компиляции. Отладочная и окончательная версии. Выходные файлы. 30
Отладка в VB.NET 31
Выражения, операторы и передача управления 34
Консольные приложения 35
Команды VB.NET. Комментарии. 37
Переменные и присваивание 38
Литералы и их соответствие типам данных 39
Объявление переменных 41
Преобразования разнотипных значений 42
Строки. Строковые функции. 44
Форматирование данных 46
Математические операторы 47
Круглые скобки и приоритет операций 49
Математические функции и математические константы 50
Константы. Циклы. 51
Цикл с определенным условием 52
Циклы с неопределенным условием 53
Условные команды и принятие решений. Изменения в видимости переменных. Ускоренная проверка. 54
Select Case. GoTo. 55
Логические операторы. Массивы. 56
Массивы с индексацией элементов в заданном интервале. Цикл For-Each. 57
Многомерные массивы. Процедуры и функции. 58
Функции 59
Процедуры. Преждевременный выход из функций или процедур. 60
Передача массивов функциям и процедурам. Процедуры и функции с необязательными аргументами. 61
Именованные аргументы. Рекурсия. 62
Классы и объекты 63
Введение в ООП (объектно-ориентированное программирование) 64
Классы как пользовательские типы. Как объекты взаимодействуют друг с другом? 65
Терминология ООП. Отношения между классами в программах. 66
Абстракция. Инкапсуляция. 67
Наследование 68
Полиморфизм 69
Переход к использованию объектов 70
Экземпляры. Преимущества ООП. 71
Создание объектов в VB.NET 72
Параметризованные конструкторы 74
Пример: класс String, класс StringBuilder 75
Хронометраж – насколько быстрее работает класс StringBuilder? 77
Пространства имен. Импортирование. Класс DirectoryInfo. 78
Справочная система и .NET Framework 81
Классы коллекций в .NET Framework. ArrayList. 83
Хэш-таблицы 85
Объектные переменные 87
Is и Nothing. TypeName и TypeOf. 88
Проблемы с передачей объектных переменных по значению 89
Определение классов в программе 90
Атрибуты уровня доступа и создание объектов. Me. 92
Перегрузка членов класса 93
Снова о конструкторах 94
Снова о свойствах. Свойства и инкапсуляция. 95
Область видимости переменных 96
Вложенные классы. Практическое использование вложенных классов на примере связанного списка. 97
Общие данные в классах. Общие члены классов. 99
Жизненный цикл объекта. Уничтожение объектов. 101
Структурные типы 103
Перечисляемые типы 104
Структуры. Определение структур в программе. 105
Пространства имен для создаваемых классов 107
Окно классов 108
Отладка объектно-ориентированных программ 109
Наследование и интерфейсы 111
Основы наследования 112
Знакомство с наследованием 114
Обращение к функциональности базового класса 115
Переопределение свойств и методов 116
Как стать начальником? Просмотр иерархии наследования. Правила преобразования и обращения к членам классов в иерархии наследования. 118
Полиморфизм на практике 119
Замещение 121
Абстрактные базовые классы. Пример: класс CollectionBase. 122
Корневой базовый класс Object. Основные методы класса Object. 125
Equals и ReferenceEquals. Метод ToString. 126
Функция GetType и рефлексия 127
MemberWiseClone 128
Проблема неустойчивости базовых классов и контроль версии 130
Интерфейсы 133
Механика реализации интерфейса. Нетривиальное применение интерфейсов. 134
Выбор между интерфейсами и наследованием. Важнейшие интерфейсы: ICloneable и IDisposable. 137
Коллекции. For Each и интерфейс lEnumerable. 139
ICollection 141
IDictionary 142
IComparable 143
Интерфейс IComparer 144
Обработка событий и делегаты 145
Обработка событий с точки зрения ООП 146
Передача данных функциям, вызываемым в результате событий 147
Простейшее инициирование событий 148
Подключение приемников к источнику 149
Все вместе 150
Построение классов событий 152
Динамическая обработка событий 153
Отключение обработчиков событий. Обработка событий в иерархии наследования. 155
Делегаты 156
Создание делегата 157
Практический пример: специализированная сортировка 158
Групповые делегаты 160
Групповые делегаты как члены классов. Делегаты и события. 161
Обработка ошибок в VB.NET 162
Проверка ошибок и обработка исключений 163
Подготовка к структурной обработке исключений 164
Анализ исключений. Наличие нескольких секций Catch. 165
Инициирование исключений 167
Иерархия исключений. Исключения как замена для goto. 169
Секция Finally. Рекомендации по использованию исключений. 170
Формы Windows, графический вывод и печать 171
Немного истории 172
Дизайнер форм 174
Сохранение пропорций: свойства Anchor и Dock. Меню Tab Order. 175
Снова о простой программе 177
Свойства форм 180
Элементы меню и новый редактор меню Visual Studio. Контекстные меню. 182
Формы MDI 185
Диалоговые формы и диалоговые окна. ColorDialog. FontDialog. FileDialog. Создание диалоговых окон. 187
Размещение элементов на форме во время выполнения 189
Наследование форм. Построение нестандартных элементов на базе наследования. 190
Переопределение события 191
Добавление новых событий. Добавление новых свойств. 193
Иерархия пространства имен System.Windows.Forms 195
Средства базового класса Control. События клавиатуры. События проверки. 197
Графика: GDI+ 198
Простейший вывод 199
Вывод текста 200
Пример: вывод всех шрифтов в системе 201
Печать 203
Многостраничный вывод. О классе PrintPageEventArgs. 204
Элемент PrintDialog и конфигурация печати. Самостоятельное программирование печати. 205
Предварительный просмотр 206
Ввод-вывод 207
Каталоги и файлы 208
Класс Path 209
Класс Directory 210
Классе File. Атрибуты файла. 211
Классы DirectoryInfo и FileInfo 212
Рекурсивный просмотр дерева каталогов 213
Важнейшие члены классов FileSystemInfo, FileInfo и DirectoryInfo 214
Потоки данных 216
Запись в файл 218
Чтение и запись двоичных данных: классы BinaryReader и BinaryWriter 221
TextReader, TextWriter и производные классы. Объектные потоки: сохранение и восстановление объектов. 222
Простая сериализация. Простое восстановление. Применение сериализации при клонировании объектов. 224
Практический пример: динамический список с поддержкой сериализации 226
Сетевые потоки 228
Монитор файловой системы 230
Многопоточные приложения 232
Многозадачность 233
Знакомство с многопоточностью 234
Домены приложений 235
Создание потоков 236
Метод Join. Имена потоков, CurrentThread и ThreadState. 239
Окно потоков. Приостановка потока. 240
Завершение или прерывание программных потоков 241
Приостановка и уничтожение потоков. Фоновые потоки (демоны). 242
Более серьезный пример: извлечение данных из кода HTML 243
Главная опасность (общие данные) 245
Решение проблемы: синхронизация 247
Команда SyncLock и класс Monitor 248
Взаимная блокировка 249
Совместная работа с данными по мере их создания 252
Многопоточность в графических программах 255
Следующий шаг: кнопка Show Count 257
Поддержка баз данных в VB.NET 259
Почему ADO.NET – не ADO++ 260
Автономные наборы данных: новый подход к работе с базами данных. Классы сборки System.Data.DLL. 261
Пространство имен System.Data.OleDb 262
System.Data.SqlClient 264
Вызов хранимой процедуры 265
Нетривиальный пример работы с базами данных в VB.NET (часть 1) 266
Нетривиальный пример работы с базами данных в VB.NET (часть 2) 269
Краткий обзор ASP.NET 272
Немного истории 273
Простое web-приложение для ASP.NET 274
Что передается клиенту? 276
Файл Web.config 277
Простая web-служба 279
Использование web-службы на стороне клиента 281
Сборки .NET, установка приложений и COM Interop 284
Принципы работы СОМ 285
Сборки .NET 286
Манифест 287
Исследование манифеста 288
Общие сборки и GAC. Включение и удаление сборок из GAC. 289
Сильные имена и совместное использование сборок. Построение ключей. Сертификация сборки. 290
COM Interop и вызовы функций DLL. Вызовы функций DLL. 291