| 
|  |  |  |  |  |  | 
|  
 
Книги: [Классика] [Базы данных] [Internet/WWW] [Сети] [Программирование] [UNIX] [Windows] [Безопасность] [Графика] [Software Engineering] [ERP-системы] [Hardware]
 
 Полное содержаниеПредисловиеБлагодарности
 Глава 1. Философия .NET	
Современное состояние делКак живут программисты, использующие Win32/C	
Как живут программисты, использующие C++/MFC	
Как живут программисты, использующие Visual Basic	
Как живут программисты, использующие Java	
Как живут COM-программисты	
Как живут программисты, использующие Windows DNA	
Решение .NETСтроительные блоки .NET (CLR, CTS и CLS)
Библиотека базовых классов .NET
Преимущества C#	Языки программирования .NET
 Обзор двоичных файлов .NET ("сборки")
Сборки из одного и нескольких файлов	
Роль Microsoft Intermediate LanguageПреимущества IL	
Роль метаданныхПростой пример метаданных	
Компиляция IL в платформенно-зависимые инструкцииТипы .NET и пространства имен .NET
 Основы Common Language Runtime - среды выполнения .NET
 Стандартная система типов CTS
Классы CTS	
Структуры CTS	
Интерфейсы CTS	
Члены типов CTS	
Перечисления CTS	
Делегаты CTS	
Встроенные типы данных CTS	
Основы CLSРабота с пространствами имен
 Важнейшие пространства имен .NET
Использование пространств имен в коде приложения	
Обращения к внешним сборкам	Как получить дополнительную информацию о пространствах имен и типах
ILDasm.exe	
Выгрузка в файл иерархии типов и членов сборки	
Выгрузка в файл вместе с инструкциями IL	
Просмотр метаданных типов	
Web-приложение ClassViewer	
Графическое приложение WinCV	
Создание приложений C# с использованием компилятора командной строкиСсылки на внешние сборки
Компиляция нескольких исходных файлов	
Создание приложений C# с использованием интегрированной среды разработки Visual Studio.NETНачало работы со средой Visual Studio.NET	
Окно Solution Explorer	
Окно Properties	
Экономное размещение кода на экране	
Ссылки на внешние сборки	
Отладка в Visual Studio.NET	
Работа с окном Server Explorer	
Средства для работы с XML
Поддержка диаграмм UML	
Утилита Object Browser	
Средства для работы с базами данных	
Встроенная справка	
Подведение итогов Глава 2. Основы языка C#	
Анатомия класса C#Как еще можно объявить метод Main()	
Обработка параметров командной строки
Создание объектов: конструкторы	
Будет ли происходить утечка памяти?	
Композиция приложения C#Инициализация членов	
Ввод и вывод с использованием класса Console	
Средства форматирования строк в C#Структурные и ссылочные типы
Структурные и ссылочные типы: исследуем дальше	
Точка отсчета для любых типов: System.ObjectЗамещение методов System.Object	
Статические члены System.Object	
Системные типы данных и псевдонимы C#Избранные заметки о некоторых типах данных	
От структурного типа к ссылочному типу и наоборот: упаковка и распаковкаЗначения по умолчанию для встроенных типов данных
 Константы
 Циклы в C#
Выражение for	
Выражение foreach/in	
Выражения while и do/while	
Средства управления логикой работы программв C#	
Дополнительные операторы C#
 Определение пользовательских методов класса
Модификаторы уровня доступа к методам	
Статические методы и методы экземпляров	Статические данные	
Интересное рядом: некоторые статические члены класса Environment	
Модификаторы для параметров методов	
Работа с массивамиМногомерные массивы	
Базовый класс System.Array
Работа со строкамиУправляющие последовательности и вывод служебных символов	
Применение System.Text.StringBuilder	
Перечисления C#Базовый класс System.Enum	
Определение структур в C#Еще раз об упаковке и распаковке
 Определяем пользовательские пространства имен
Применение пространств имен для разрешения конфликтов между именами классов	
Использование псевдонимов для имен классов	
Вложенные пространства имен	
Подведение итогов Глава 3. C# и объектно-ориентированное программирование	
Формальное определение класса в C#Ссылки на самого себя	
Определение открытого интерфейса по умолчаниюУказание области видимости на уровне типа: открытые и внутренние типы	
Столпы объектно-ориентированного программированияИнкапсуляция	
Наследование: отношения "быть" и "иметь"
Полиморфизм: классический и для конкретного случая	
Средства инкапсуляции в C#Реализация инкапсуляции при помощи традиционных методов доступа и изменения	
Второй способ инкапсуляции: применение свойств класса	
Внутреннее представление свойств C#	
Свойства только для чтения, только для записи и статические	
Псевдоинкапсуляция: создание полей "только для чтения"Статические поля "только для чтения"	
Поддержка наследования в C#	Работа с конструктором базового класса	
Можно ли производить наследование от нескольких базовых классов	
Хранение "семейных тайн": ключевое слово protectedЗапрет наследования: классы, объявленные как sealed	
Применение модели включения-делегирования	
Определение вложенных типов	Поддержка полиморфизма в C#
Абстрактные классы	
Принудительный полиморфизм: абстрактные методы	
Контроль версий членов класса
Приведение типов в C#Приведение числовых типов	
Обработка исключенийГенерация исключения	
Перехват исключений	
Создание пользовательских исключений, первый этап	
Создание пользовательских исключений, второй этап	
Обработка нескольких исключений	
Блок finally	
Последние замечания о работе с исключениями	
Жизненный цикл объектовЗавершение ссылки на объект
Завершение в подробностях	
Создание метода удаления для конкретного случая	Интерфейс IDisposable	
Взаимодействие со сборщиком мусораОптимизация сборки мусора	
Подведение итогов Глава 4. Интерфейсы и коллекции	
Программирование с использованием интерфейсовРеализация интерфейса	
Получение ссылки на интерфейс	
Интерфейсы как параметры	
Явная реализация интерфейса	
Создание иерархий интерфейсов	
Наследование от нескольких базовых интерфейсов
Создание пользовательского нумератора (интерфейсы IEnumerable и IEnumerator)Создание клонируемых объектов (интерфейс ICloneable)
 Создание сравниваемых объектов (интерфейс IComparable)
Сортировка по нескольким идентификаторам (IComparer)	
Как с помощью специальных свойств сделать сортировку более удобной	
Пространство имен System.CollectionsПространство имен System.Collections.Specialized	
Применение ArrayList	
Подведение итогов Глава 5. Дополнительные возможности классов C#	
Создание пользовательского индексатораПерегрузка операторов
Перегрузка операторов равенства	
Перегрузка операторов сравнения	
Последние замечания о перегрузке операторов	
ДелегатыПример делегата	
Делегаты как вложенные типы	
Члены System.MulticastDelegate	
Применение CarDelegate	
Анализ работы делегата	
Многоадресность	
Делегаты, указывающие на обычные функции	
События	Как работают события	
Прием событий	
Объекты как приемники событий	
Реализация обработки событий с использованием интерфейсов	
Документирование в формате XMLПросмотр файла документации в формате XML
 Создание документации в формате HTML
 Подведение итогов
 Глава 6. Сборки, потоки и домены приложений	
Проблемы с классическими двоичными файламиCOMПроблема: работа с версиями COM	
Проблема: развертывание приложений COM	
Обзор сборок .NETСборки из одного и нескольких файлов
Логическое и физическое представление сборки	
Сборки обеспечивают повторное использование кода
Сборки - контейнеры для типов
В сборках предусмотрены встроенные средства самоописания и контроля версий	
Сборки определяют контекст безопасности
Разные версии сборок могут выполняться параллельно	
Создание тестовой однофайловой сборкиКлиентское приложение C#
 Клиентское приложение Visual Basic.NET
 Межъязыковое наследование
 Подробности манифеста CarLibrary
 Метаданные и код IL для типов CarLibrary
 Частные сборки
 Технология "зондирования"
Идентификация частной сборки	
Частные сборки и файлы конфигурации приложений	
Процесс загрузки частной сборки в целом	
Сборки для общего доступаПроблемы с GAC?	
Общие ("сильные") имена сборокСоздание сборки для общего пользования	
Установка сборки в глобальный кэш сборок (GAC)	
Применение сборки для общего пользования в приложенииПолитика версий .NET
 Запись информации о версии
Работа с разными версиями SharedAssembly	
Создаем SharedAssembly версии 2.0	
Политика версий .NET по умолчанию	
Управление загрузкой разных версий сборокАдминистраторский файл конфигурации
 Работа с потоками в традиционных приложениях Win32
Проблемы одновременности и синхронизации потоков	
Что такое домен приложенияРаботаем с доменами приложений	
Пространство имен System.ThreadingРабота с классом Thread	
Запуск вторичных потоков	
Именованные потокиПараллельная работа потоков	
Как "усыпить" поток	
Одновременный доступ к данным из разных потоков	
Ключевое слово lock	Использование System.Threading.Monitor	
Применение System.Threading.InterlockedПодведение итогов
 Глава 7. Рефлексия типов и программирование с использованием атрибутов	
Что такое рефлексия типовКласс Type
Получение объекта класса Type	
Возможности класса Type	
Типы пространства имен System.ReflectionЗагрузка сборки
Вывод информации о типах в сборке	
Вывод информации о членах класса	
Вывод информации о параметрах метода	
Применение позднего связыванияКласс System.Activator	
Применение динамических сборокЗнакомство с пространством имен System.Reflection.Emit	
Создаем динамическую сборку	
Как использовать динамическую сборку	
Программирование с использованием атрибутов	Работа с существующими атрибутами	
Создание пользовательских атрибутовКак ограничить использование атрибута определенными типами	
Атрибуты уровня сборки и модуля	
Файл AssemblyInfo.csКак работать с атрибутами в процессе выполнения программы
 Подведение итогов
 Глава 8. Окна становятся лучше: введение в Windows.Forms	
Два главных пространства имен для организации графического интерфейсаОбзор пространства имен Windows.Forms
 Взаимодействие с типами Windows.Forms
Создание нового проекта
Создание главного окна приложения (вручную)	
Создание проекта Windows Forms	
Класс System.Windows.Forms.ApplicationРаботаем с классом Application	
Реагируем на событие ApplicationExit	
Препроцессинг сообщений при помощи класса Application	
Анатомия формыКлассы System.Object и MarshalByRefObject	
Класс Component	Класс Control
Настройка стиля формы	
События класса ControlРаботаем с классом Control	
Реагируем на события мыши: часть первая	
Реагируем на события мыши: часть вторая	
Реагируем на события клавиатурыЕще немного о классе Control
Painting Basics	
Класс ScrollableControl	Класс ContainerControl
 Класс Form
Используем возможности класса Form	
Создаем менюВложенный класс Menu$MenuItemCollection	
Создание системы меню в приложенииДобавляем еще одно меню верхнего уровня	
Создаем контекстное меню	
Дополнительные возможности меню	
Создаем меню при помощи IDE Visual Sudio.NETЧто такое строка состояния
Создаем строку состояния	
Работаем с классом Timer	
Отображение в строке состояния подсказок к пунктам меню	
Создаем панель инструментов	Создаем панели инструментов при помощи Visual Studio IDE
Создаем набор изображений (объект ImageList) при помощи 
Visual Studio
Пример приложения Windows Forms для работы с реестром и журналом событий Windows 2000Взаимодействие с системным реестром	
Взаимодействие с журналом событий Windows 2000Как считать информацию из журнала событий	
Подведение итогов Глава 9. Графика становится лучше (GDI+)
Обзор пространств имен GDI+	Пространство имен System.Drawing
 Служебные типы System.Drawing
Тип Point(F)	
Тип Rectangle(F)	
Тип Size(F)	
Класс Region	
Сеансы вывода графикиКак сделать клиентскую область вашего приложения "недействительной"	
Выводим графические объекты без события Paint	
Возможности класса Graphics	Система координат по умолчанию в GDI+
Применение альтернативных единиц измерения	
Применение альтернативных точек отсчета	
Работа с цветомВозможности класса ColorDialog	
Работа со шрифтамиСемейства шрифтов	
Единицы измерения для шрифта	
Создаем приложение с возможностью выбора шрифта	
Выводим информацию об установленных шрифтах (System.Drawing.Text)	
Класс FontDialog	
Обзор пространства имен System.Drawing.Drawing2DОпределение качества вывода графического объекта
Работа с перьями	
Работаем с "наконечниками" перьев	
Работаем с кистью	
Работаем со штриховыми кистями	
Работаем с текстурными кистями	
Работаем с градиентными кистями	
Вывод изображенийПеретаскивание, проверка попадания в область, занимаемую изображением,и элемент управления PictureBox
Еще о проверке попадания
Проверка попадания в непрямоугольные области	
Работа с форматами реcурсов .NETПространство имен System.Resources
Создание файлов *.resx программным образом	
Чтение из файлов *.resx программным образом	
Создание файлов *.resources	
Работаем с типом ResourceWriterРаботаем с типом ResourceManager
 Работа с ресурсами при помощи IDE Visual Studio.NET
 Подведение итогов
 Глава 10. Элементы управления	
Иерархия классов элементов управленияКак вручную добавить элементы управления на форму
Класс Control$ControlCollection	
Как добавить элементы управления на форму при помощи Visual StudioЭлемент управления TextBox
Некоторые возможности TextBox	
Великая и могучая кнопка (а также родительский класс ButtonBase)Выравнивание текста и изображений относительно краев кнопки	
Некоторые возможности работы с кнопками	
Работаем с флажками	Работаем с переключателями и группирующими рамками
Элемент управления CheckedListBox	
Списки	
Комбинированные списки	
Настраиваем порядок перехода по TabTab Order Wizard	
Элемент управления TrackBarЭлемент управления MonthCalendar
 Еще немного о типе DateTime
 Элементы управления UpDown
 Элемент управления Panel
 Всплывающие подсказки (ToolTips) для элементов управления
Добавление всплывающей подсказки при помощи графических средств Visual Studio	
Элемент управления ErrorProviderЗакрепление элемента управления в определенном месте формы
 Стыковка элемента управления с краем формы
 Создание пользовательских диалоговых окон
Пример использования диалогового окна в приложении	
Как получить данные из диалогового окна	
Наследование формПодведение итогов
 Глава 11. Ввод, вывод и сериализация объектов	
Знакомство с пространством имен System.IOТипы Directory(Info) и File(Info)
Абстрактный класс FileSystemInfo	
Работа с типом DirectoryInfo
Перечисление FileAttributes	
Получение доступа к файлам через объект DirectoryInfoСоздаем подкаталоги при помощи класса DirectoryInfo
 Статические члены класса Directory
 Класс FileInfo
Использование метода FileInfo.Open()	
Методы FileInfo.OpenRead() и FileInfo.OpenWrite()	
Методы FileInfo.OpenText(), FileInfo.CreateText() и FileInfo.AppendText()	
Абстрактный класс StreamРабота с объектом FileStream	
Класс MemoryStream	
Класс BufferedStream	
Классы StreamWriter и StreamReaderЗапись в текстовый файл	
Считывание информации из текстового файла	
Класс StringWriterКласс StringReader
 Работа с двоичными данными (классы BinaryReader и BinaryWriter)
Заметки на полях	
Сохранение объектов в .NETГрафы для отношений объектов
 Настройка объектов для сериализации
Выбираем объект Formatter	
Пространство имен System.Runtime.Serialization	
Сериализация в двоичном формате	Сериализация в формате SOAP
 Сериализация в пользовательском формате и интерфейс ISerializable
Простой пример пользовательской сериализации	
Приложение для регистрации автомобилей с графическим интерфейсомРеализация добавления новых объектов Car	
Код сериализации	
Подведение итогов Глава 12. Взаимодействие с унаследованным программным кодом	
Главные вопросы совместимостиПространство имен System.Runtime.InteropServices
 Взаимодействие с модулями DLL, созданными на C
Поле ExactSpelling
Поле CharSet
Поля CallingConvention и EntryPoint	
Взаимодействие .NET и COMПредставление типов COM как типов .NET	
Управление ссылками на объекты сокласса	
Сокрытие низкоуровневых интерфейсов COM	
Создание простого COM-сервера в Visual Basic 6.0Что находится в IDL нашего COM-сервера	
Создаем простой клиент COM в Visual Basic 6.0Импорт библиотеки типов
 Добавление ссылки на сборку
Раннее связывание с COM-классом CoCalc	
Позднее связывание с соклассом CoCalc	
Особенности созданной нами сборкиСоздаем COM-сервер при помощи ATL
Добавление методов в интерфейс по умолчанию	
Генерация события COM	
Генерация ошибки COM	
Представление внутренних подобъектов и применение SAFEARRAY	
Последний штрих: создаем перечисление IDL	
Клиент COM-сервера в Visual Basic 6.0Создаем сборку и анализируем процесс преобразования	
Преобразование библиотеки типов	
Преобразование интерфейсов COM	
Преобразование атрибутов параметров в коде IDL	
Преобразование иерархии интерфейсов	
Преобразование соклассов и свойств COM	
Преобразование перечислений COM	
Преобразование COM SAFEARRAY	
Перехват событий COM	
Обработка ошибки COM	
Полный код клиента C#	Обращение клиента COM к сборке .NET
 Роль CCW
 Понятие интерфейса класса
Определяем интерфейс класса	
Создание типа .NET	Генерация библиотеки типов и регистрация типов .NET
 Анализ созданной библиотеки типов
Интерфейс _Object	
Сгенерированное выражение библиотеки	
Просмотр типов .NET в OLE/COM Object Viewer	Просмотр записей в реестре
 Создаем клиента в Visual Basic 6.0
 Некоторые особенности отображения типов .NET в COM
Анализ кода COM, сгенерированного для базового класса	
Анализ кода COM, сгенерированного для производного класса	
Управление процессом генерации кода IDL (как повлиять на то, что делает утилита tlbexp.exe)Что у нас получилось
Управление регистрацией промежуточного модуля CCWВзаимодействие со службами COM+
Пространство имен System.EnterpriseServices	
Особенности создания типов .NET для работыпод COM+	
Пример класса C# для работы под COM+
Добавление атрибутов уровня сборки для COM+
Помещаем сборку в каталог COM+	
Проверяем установку при помощи Component Services ExplorerПодведение итогов
 Глава 13. Доступ к данным при помощи ADO.NET	
Почему потребовалось создавать ADO.NETADO.NET: общая картина	
Знакомство с пространствами имен ADO.NETТипы пространства имен System.Data
 Тип DataColumn
Создаем объект DataColumn	
Добавляем объект DataColumn в DataTable	
Делаем столбец первичным ключом таблицы	
Настройка автоматического увеличения значений для столбцов	
Настраиваем представление столбца в формате XML	
Тип DataRow	Работа со свойством DataRow.RowState	
Работа со свойством ItemArray	
Тип DataTableСоздаем объект DataTable
Удаляем строки из таблицы	
Применение фильтров и порядка сортировки для DataTable	
Внесение изменений в строки	
Тип DataViewВозможности класса DataSet
Члены класса DataSet	
Создание объекта DataSet
Моделируем отношения между таблицами при помощи класса DataRelationПереход между таблицами, участвующими в отношенииЧтение и запись объектов DataSet в формате XML
 Создание примера простой базы данных
 Управляемые провайдеры ADO.NET
 Управляемый провайдер OLE DB
 Установление соединения при помощи типа OleDbConnection	
Построение команды SQL	
Работа с OleDbDataReader	
Подключение к базе данных Access	
Выполнение хранимых процедур	
Тип OleDbDataAdapter	
Заполнение данными объекта DataSet при помощи OleDbDataAdapter	
Работа с управляемым провайдером SQLПространство имен System.Data.SqlTypes	
Вставка новых записей при помощи SqlDataAdapter	
Изменение записей в таблице при помощи SqlDataAdapter	
Автоматическое создание команд SQL	Заполнение объекта DataSet с несколькими таблицами и добавление объектов DataRelations
 Подведение итогов
 Глава 14. Разработка web-приложений и ASP.NET
Web-приложения и web-серверыЧто такое виртуальные каталоги	
Структура документа HTMLФорматирование текста средствами HTML	
Заголовки HTML	
HTML-редактор Visual Studio.NET	
Разработка форм HTML	
Создаем пользовательский интерфейс
Добавление изображений	
Клиентские скрипты	Пример клиентского скрипта	
Реализация проверки введенных пользователем данных	
Передаем данные формы (методы GET и POST)Синтаксис строки запроса HTTP	
Создание классической страницы ASPПринимаем данные, переданные методом POST	
Первое приложение ASP.NETНекоторые проблемы классических ASP
Некоторые преимущества ASP.NET	
Пространства имен ASP.NETНаиболее важные типы пространства имен System.Web	
Приложение и сеанс подключения пользователяСоздание простого web-приложения на C#
Исходный файл *.aspx	
Файл web.config	
Исходный файл Global.asax	
Простой код ASP.NET на C#	
Архитектура web-приложения ASP.NETТип System.Web.UI.Page	
Связка *.aspx/Codebehind	
Свойство Page.Request	
Свойство Page.Response	
Свойство Page.Application	
Отладка и трассировка приложений ASP.NETЭлементы управления WebForm
 Создание элементов управления WebForm
Иерархия классов элементов управления WebForm	
Виды элементов управления WebFormБазовые элементы управления WebForm	
Элементы управления с дополнительными возможностями	
Элементы управления для работы с источниками данных	
Элементы управления для проверки вводимых пользователем данных	
Обработка событий элементов управления WebForm	
Подведение итогов Глава 15. Web-службы	
Роль web-служб	Инфраструктура web-службы
Протокол подключения	
Служба описания	
Служба обнаружения	
Обзор пространств имен web-службПространство имен System.Web.Services
 Пример элементарной web-службы
Исходный файл C# для web-службы (*.asmx.cs)	
Реализуем методы web-службы	
Работа клиента с web-службой	
Тип WebMethodAttributeБазовый класс System.Web.Services.WebService	
Web Service Description Language (WSDL)Протоколы подключения к web-службам
Обмен данными при помощи HTTP-GET и HTTP-POST	
Обмен данными при помощи SOAP	
Прокси-сборки для web-службСоздание прокси-сборки при помощи утилиты wsdl.exe	
Компилируем прокси-сборкуСоздание клиента для работы через прокси-сборку
 Создание прокси-сборки в Visual Studio.NET
 Пример более сложной web-службы (и ее клиентов)
Сериализация пользовательских типов	
Настраиваем клиента web-службы	
Создание типов для сериализации (некоторые уточнения)Протокол обнаружения web-службы
Добавление новой web-службы	
Подведение итогов Алфавитный указатель	
 
НачалоCодержание
 Отрывок
 [Заказать книгу в магазине "Мистраль"]
 
  
 |  |  |   
 
 
|  |  |  |  |  |  
 | Внимание! Любой из материалов, опубликованных на этом сервере, не может быть  воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее... | 
 |