Иллюстрированный самоучитель по 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
Содержание раздела