C# 4.0 и платформа .NET 4 для профессионалов (+ CD-ROM)

Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер

Книга известных специалистов в области разработки приложений с использованием .NET Framework посвящена программированию на языке C# 2010 в среде .NET Framework 4 и в предшествующих версиях. Книгу отличает простой и доступный стиль изложения, изобилие примеров и множество рекомендаций по написанию высококачественных программ.

Настоящая книга начинается с общего анализа архитектуры .NET в главе 1 для предоставления базовых сведений, которыми необходимо обладать для того, что иметь возможность писать управляемый код. Книга разделена на несколько частей, в которых рассказывается как о самом языке C#, так и о способах его применения в различных областях.

Несмотря на большой объем, уместить в печатное издание все сведения о языке C# и его применении с другими технологиями .NET не удалось, поэтому десять дополнительных глав представлены в электронном виде на прилагаемом к книге компакт-диске. Эти главы посвящены различным темам, в том числе технологии GDI+, служащей для построения приложений с усовершенствованной графикой; технологии .NET Remoting, используемой для обеспечения связи между клиентами и серверами .NET; технологии Enterprise Services, которая применяется для создания служб, способных функционировать в фоновом режиме; и технологии Managed Add-In Framework (MAF). Также в этих дополнительных главах можно найти сведения о разработке VSTO и использованию LINQ to SQL.

Благодаря этой книге, вы узнаете:

  • Как писать приложения и службы Windows
  • Как использовать ASP.NET 3.5 для создания веб-страниц
  • Как манипулировать XML в коде C#
  • Как использовать ADO.NET для доступа к базам данных
  • Как генерировать графические данные с помощью C#
  • Как использовать многочисленные дополнения C#
  • Как использовать язык LINQ для простой работы с базами данных SQL Server и XML

Книга рассчитана на программистов разной квалификации, а также будет полезна для студентов и преподавателей дисциплин, связанных с программированием и разработкой для .NET.

Издательство: Диалектика, Вильямс, 2011 г.

ISBN 978-5-8459-1656-3, 978-0-470-50225-9

Количество страниц: 1440.

Содержание книги «C# 4.0 и платформа .NET 4 для профессионалов (+ CD-ROM)»:

  • 28 Об авторах
  • 30 Благодарности
  • 31 Введение
    • 31 Важность .NET и C#
      • 32 Преимущества .NET
    • 34 Что нового в .NET Framework 4
      • 34 Динамическая типизация
      • 34 Необязательные и именованные параметры
      • 35 Ковариантность и контравариантность
      • 35 Технология ASP.NET MVC
    • 35 Для чего подходит C#
    • 37 Что необходимо для написания и выполнения кода на C#
    • 38 Как организована эта книга
      • 38 Часть I. Язык C#
      • 38 Часть II. Visual Studio
      • 38 Часть III. Основы
      • 38 Часть IV. Данные
      • 38 Часть V. Презентация
      • 39 Часть VI. Коммуникации (на компакт-диске)
      • 39 Приложение A (на компакт-диске)
      • 39 Дополнительные главы (на компакт-диске)
    • 39 Соглашения
    • 40 Исходный код
    • 40 От издательства
  • 41 Часть I. Язык C#
  • 42 Глава 1. Архитектура .NET
    • 43 Отношение между C# и .NET
    • 43 Общеязыковая исполняющая среда
      • 44 Независимость от платформы
      • 44 Повышение производительности
      • 44 Языковая способность к взаимодействию
    • 46 Более внимательный взгляд на промежуточный язык (IL)
      • 46 Поддержка объектной ориентации и интерфейсов
      • 48 Различие типов значений и типов ссылок
      • 48 Строгая типизация данных
      • 54 Обработка ошибок с помощью исключений
      • 55 Применение атрибутов
    • 55 Сборки
      • 56 Приватные сборки
      • 56 Разделяемые сборки
      • 57 Рефлексия
      • 57 Параллельное программирование
    • 58 Классы .NET Framework
    • 59 Пространства имен
      • 59 Создание приложений .NET с использованием C#
      • 60 Создание приложений ASP.NET
      • 61 Элементы управления веб-сервера
      • 62 Создание Windows-форм
      • 62 Windows Presentation Foundation (WPF)
      • 62 Элементы управления Windows
      • 62 Службы Windows
      • 63 Windows Communication Foundation (WCF)
      • 63 Windows Workflow Foundation (WF)
    • 63 Роль языка C# в архитектуре .NET Enterprise
    • 65 Резюме
  • 67 Глава 2. Основы C#
    • 68 Первая программа на C#
      • 68 Код
      • 68 Компиляция и запуск программы
      • 69 Более пристальный взгляд на код
    • 71 Переменные
      • 71 Инициализация переменных
      • 72 Выведение типа
      • 73 Область видимости переменных
      • 76 Константы
    • 76 Предопределенные типы данных
      • 76 Типы значений и ссылочные типы
      • 78 Типы CTS
      • 78 Предопределенные типы значений
      • 81 Предопределенные ссылочные типы
    • 83 Управление потоком выполнения
      • 83 Условные операторы
      • 87 Циклы
      • 90 Операторы перехода
    • 90 Перечисления
    • 92 Пространства имен
      • 93 Директива using
      • 94 Псевдонимы пространств имен
    • 95 Метод Main()
      • 95 Множественные методы Main()
      • 96 Передача аргументов в Main()
    • 97 Дополнительные сведения о компиляции файлов C#
    • 98 Консольный ввод-вывод
    • 100 Использование комментариев
      • 100 Внутренние комментарии в исходных файлах
      • 101 Документация XML
    • 103 Директивы препроцессора C#
      • 103 #define и #undef
      • 104 #if, #elif, #else и #endif
      • 105 #warning и #error
      • 105 #region и #endregion
      • 106 #line
      • 106 #pragma
    • 106 Рекомендации по программированию на C#
      • 106 Правила для идентификаторов
      • 107 Соглашения по использованию
    • 113 Резюме
  • 114 Глава 3. Объекты и типы
    • 115 Классы и структуры
    • 116 Классы
      • 116 Данные-члены
      • 116 Функции-члены
    • 130 Анонимные типы
    • 130 Структуры
      • 132 Структуры – это типы значений
      • 133 Структуры и наследование
      • 133 Конструкторы структур
    • 133 Частичные классы
    • 135 Статические классы
    • 135 Класс Object
      • 135 Методы System.Object
      • 137 Метод ToString()
    • 138 Расширяющие методы
    • 139 Резюме
  • 140 Глава 4. Наследование
    • 141 Типы наследования
      • 141 Сравнение наследования реализации и наследования интерфейса
      • 141 Множественное наследование
      • 142 Структуры и классы
    • 142 Наследование реализации
      • 143 Виртуальные методы
      • 144 Сокрытие методов
      • 145 Вызов базовых версий функций
      • 146 Абстрактные классы и функции
      • 146 Запечатанные классы и методы
      • 147 Конструкторы производных классов
      • 149 Добавление в иерархию конструктора
      • 150 Добавление в иерархию конструкторов с параметрами
    • 152 Модификаторы
      • 152 Модификаторы видимости
      • 153 Другие модификаторы
    • 153 Интерфейсы
      • 154 Определение и реализация интерфейсов
      • 158 Производные интерфейсы
    • 159 Резюме
  • 160 Глава 5. Обобщения
    • 161 Обзор обобщений
      • 161 Производительность
      • 162 Безопасность типов
      • 163 Повторное использование двоичного кода
      • 163 «Разбухание» кода
      • 163 Рекомендации по именованию
    • 164 Создание обобщенных классов
    • 167 Средства обобщений
      • 168 Значения по умолчанию
      • 168 Ограничения
      • 170 Наследование
      • 171 Статические члены
    • 171 Обобщенные интерфейсы
      • 172 Ковариантность и контравариантность
      • 173 Ковариантность обобщенных интерфейсов
      • 174 Контравариантность обобщенных интерфейсов
    • 175 Обобщенные структуры
    • 177 Обобщенные методы
      • 178 Пример обобщенного метода
      • 179 Обобщенные методы с ограничениями
      • 180 Обобщенные методы с делегатами
      • 180 Специализация обобщенных методов
    • 182 Резюме
  • 183 Глава 6. Массивы и кортежи
    • 184 Простые массивы
      • 184 Объявление массива
      • 184 Инициализация массива
      • 185 Доступ к элементам массива
      • 186 Использование ссылочных типов
    • 187 Многомерные массивы
    • 188 Зубчатые массивы
    • 189 Класс Array
      • 189 Создание массивов
      • 190 Копирование массивов
      • 192 Сортировка
    • 194 Массивы в качестве параметров
      • 195 Ковариантость массивов
      • 195 Структура ArraySegment<T>
    • 196 Перечисления
      • 196 Интерфейс IEnumerator
      • 197 Оператор foreach
      • 197 Оператор yield
    • 201 Кортежи
    • 202 Структурное сравнение
    • 204 Резюме
  • 205 Глава 7. Операции и приведения
    • 206 Операции
      • 207 Сокращения операций
      • 208 Условная операция
      • 209 Операции checked и unchecked
      • 210 Операция is
      • 210 Операция as
      • 210 Операция sizeof
      • 211 Операция typeof
      • 211 Типы и операции, принимающие значение null
      • 211 Операция поглощения null
      • 212 Приоритеты операций
    • 213 Безопасность типов
      • 213 Преобразования типов
      • 213 Неявные преобразования
      • 214 Явные преобразования
      • 217 Упаковка и распаковка
    • 217 Проверка равенства объектов
      • 218 Сравнение ссылочных типов на эквивалентность
      • 219 Проверка типов значений на равенство
    • 219 Перегрузка операций
      • 220 Как работают операции
      • 221 Пример перегрузки операции: структура Vector
      • 228 Какие операции можно перегружать?
    • 228 Пользовательские приведения
      • 230 Реализация пользовательских приведений
      • 236 Множественные приведения
    • 239 Резюме
  • 240 Глава 8. Делегаты, лямбда-выражения и события
    • 241 Делегаты
      • 242 Объявление делегатов в C#
      • 243 Использование делегатов в C#
      • 246 Пример простого делегата
      • 247 Делегаты Action<T> и Func<T>
      • 248 Пример BubbleSorter
      • 251 Групповые делегаты
      • 254 Анонимные методы
      • 255 Лямбда-выражения
      • 256 Параметры
      • 256 Несколько строк кода
      • 257 Переменные вне лямбда-выражений
    • 258 События
      • 258 Издатель события
      • 259 Слушатель событий
      • 261 Слабые события
    • 264 Резюме
  • 265 Глава 9. Строки и регулярные выражения
    • 266 Изучение System.String
      • 267 Построение строк
      • 270 Члены класса StringBuilder
      • 271 Форматирующие строки
    • 277 Регулярные выражения
      • 277 Введение в регулярные выражения
      • 279 Пример RegularExpressionsPlayaround
      • 282 Отображение результатов
      • 283 Соответствия, группы и захваты
    • 285 Резюме
  • 286 Глава 10. Коллекции
    • 287 Интерфейсы и типы коллекций
    • 288 Списки
      • 289 Создание списков
      • 290 Инициализаторы коллекций
      • 290 Добавление элементов
      • 291 Вставка элементов
      • 291 Доступ к элементам
      • 293 Удаление элементов
      • 293 Поиск
      • 295 Сортировка
      • 297 Преобразование типов
      • 297 Коллекции, доступные только для чтения
    • 298 Очередь
    • 301 Стек
    • 303 Связный список
    • 308 Сортированный список
    • 309 Словари
      • 309 Тип ключа
      • 311 Пример словаря
      • 315 Списки поиска
      • 316 Сортированный словарь
    • 316 Множества
    • 318 Наблюдаемая коллекция
    • 319 Битовые массивы
      • 319 Класс BitArray
      • 321 Структура BitVector32
    • 324 Параллельные коллекции
    • 326 Производительность
    • 327 Резюме
  • 329 Глава 11. Язык интегрированных запросов
    • 330 Обзор LINQ
      • 330 Списки и сущности
      • 334 Расширяющие методы
      • 336 Отложенное выполнение запроса
    • 337 Стандартные операции запросов
      • 339 Фильтрация
      • 339 Фильтрация с индексом
      • 340 Фильтрация типа
      • 340 Составная конструкция from
      • 341 Сортировка
      • 342 Группировка
      • 343 Группировка с вложенными объектами
      • 344 Соединение
      • 346 Операции над множествами
      • 347 Метод Zip
      • 348 Разделение
      • 349 Агрегатные операции
      • 350 Преобразование
      • 351 Генерирующие операции
    • 352 Parallel LINQ
      • 352 Параллельные запросы
      • 353 Разделители
      • 353 Отмена
    • 354 Деревья выражений
    • 356 Поставщики LINQ
    • 357 Резюме
  • 358 Глава 12. Динамические расширения языка
    • 359 Среда Dynamic Language Runtime
    • 359 Тип dynamic
      • 360 Особенности типа dynamic
    • 364 Хостинг DLR ScriptRuntime
    • 366 DynamicObject и ExpandoObject
      • 366 DynamicObject
      • 368 ExpandoObject
    • 369 Резюме
  • 370 Глава 13. Управление памятью и указатели
    • 371 Внутренние механизмы управления памятью
      • 371 Типы значений
      • 373 Ссылочные типы
      • 375 Сборка мусора
    • 377 Освобождение неуправляемых ресурсов
      • 377 Деструкторы
      • 378 Интерфейс IDisposable
      • 380 Реализация интерфейса IDisposable и деструктора
    • 381 Небезопасный код
      • 381 Прямой доступ к памяти через указатели
      • 390 Пример использования указателей: PointerPlayaround
      • 394 Использование указателей для оптимизации производительности
    • 398 Резюме
  • 399 Глава 14. Рефлексия
    • 400 Пользовательские атрибуты
      • 401 Написание пользовательских атрибутов
      • 404 Пример пользовательского атрибута: WhatsNewAttributes
    • 407 Рефлексия
      • 407 Класс System.Type
      • 409 Пример TypeView
      • 412 Класс Assembly
      • 413 Завершение примера WhatsNewAttributes
    • 417 Резюме
  • 418 Глава 15. Ошибки и исключения
    • 419 Классы исключений
    • 421 Перехват исключений
      • 423 Реализация множественных блоков catch
      • 427 Перехват исключений от другого кода
      • 427 Свойства System.Exception
      • 428 Что происходит с необработанными исключениями?
      • 428 Вложенные блоки try
    • 431 Классы исключений, определяемые пользователем
      • 432 Перехват пользовательских исключений
      • 433 Возбуждение пользовательских исключений
      • 436 Определение пользовательских классов исключений
    • 438 Резюме
  • 439 Часть II. Visual Studio
  • 440 Глава 16. Visual Studio 2010
    • 441 Работа с Visual Studio 2010
      • 445 Создание проекта
      • 452 Отличие проектов от решений
      • 455 Код Windows-приложения
      • 455 Изучение проекта и заполнение его кодом
      • 464 Компоновка проекта
      • 468 Отладка кода
    • 473 Инструменты для рефакторинга
    • 474 Поддержка нескольких целевых версий .NET Framework
    • 475 WPF, WCF, WF и другие технологии
    • 476 Создание приложений WPF в Visual Studio 2010
    • 476 Создание приложений WF в Visual Studio 2010
    • 478 Резюме
  • 479 Глава 17. Развертывание
    • 480 Планирование развертывания
    • 480 Варианты развертывания
    • 481 Требования к развертыванию
      • 482 Развертывание исполняющей среды .NET
    • 482 Простые варианты развертывания
      • 483 Развертывание с помощью xcopy
      • 484 Развертывание веб-приложений с помощью xcopy
      • 484 Публикация веб-сайта
    • 485 Проекты для установки и развертывания, доступные в Visual Studio 2010
      • 486 Что собой представляет Windows Installer
      • 486 Создание установочных пакетов
    • 496 Технология ClickOnce
      • 496 Как работает ClickOnce
      • 497 Публикация приложений
      • 498 Параметры ClickOnce
      • 498 Кэш приложений для файлов ClickOnce
      • 499 Безопасность приложений
      • 499 Редакторы, доступные в Visual Studio 2010
    • 505 Резюме
  • 507 Часть III. Основы
  • 508 Глава 18. Сборки
    • 509 Что собой представляют сборки
      • 509 Свойства сборок
    • 510 Структура сборки
      • 512 Манифест сборки
      • 512 Пространства имен, сборки и компоненты
      • 512 Приватные и разделяемые сборки
      • 513 Подчиненные сборки
      • 513 Просмотр содержимого сборок
    • 514 Создание сборок
      • 515 Атрибуты сборок
      • 517 Создание и загрузка сборок динамическим образом
    • 521 Домены приложений
    • 525 Разделяемые сборки
      • 525 Строгие имена
      • 526 Обеспечение целостности информации за счет использования строгих имен
      • 527 Глобальный кэш сборок
      • 528 Создание разделяемой сборки
      • 528 Создание строгого имени
      • 530 Установка разделяемой сборки
      • 530 Использование разделяемой сборки
      • 531 Отложенное подписание сборок
      • 532 Ссылки
      • 532 Генератор собственных образов
    • 534 Конфигурирование приложений .NET
      • 534 Категории конфигурационных параметров
      • 535 Связывание со сборками
    • 537 Контроль версий
      • 537 Номера версий
      • 538 Получение номера версии программным путем
      • 538 Связывание с другими версиями сборок
      • 540 Файлы политик издателя
      • 541 Версия исполняющей среды
    • 542 Резюме
  • 543 Глава 19. Инструментарий
    • 544 Контракты кода
      • 546 Предусловия
      • 547 Постусловия
      • 548 Инварианты
      • 548 Контракты для интерфейсов
    • 550 Трассировка
      • 551 Источники трассировки
      • 552 Переключатели трассировки
      • 553 Слушатели трассировки
      • 555 Фильтры
      • 556 Корреляция
    • 559 Протоколирование событий
      • 559 Архитектура протоколирования событий
      • 561 Классы протоколирования событий
      • 562 Создание источника событий
      • 563 Запись журналов событий
      • 564 Ресурсные файлы
    • 567 Мониторинг производительности
      • 567 Классы мониторинга производительности
      • 568 Построитель счетчиков производительности
      • 570 Добавление компонентов PerformanceCounter
      • 572 perfmon.exe
    • 572 Резюме
  • 574 Глава 20. Потоки, задачи и синхронизация
    • 575 Обзор многопоточности
    • 576 Асинхронные делегаты
      • 576 Опрос
      • 577 Дескриптор ожидания
      • 578 Асинхронный обратный вызов
    • 579 Класс Thread
      • 580 Передача данных потокам
      • 581 Фоновые потоки
      • 582 Приоритеты потоков
      • 583 Управление потоками
    • 584 Пулы потоков
    • 585 Задачи
      • 586 Запуск задач
      • 587 Задачи продолжения
      • 587 Иерархии задач
      • 588 Результаты, возвращаемые после выполнения задач
    • 589 Класс Parallel
      • 589 Организация циклов с помощью Parallel.For
      • 591 Организация циклов с помощью Parallel.ForEach
      • 592 Вызов множества методов с помощью Parallel.Invoke
    • 592 Механизм отмены
      • 593 Отмена выполнения метода Parallel.For
      • 594 Отмена выполнения задач
    • 595 Проблемы, связанные с многопоточностью
      • 595 Состязания за ресурсы
      • 598 Взаимоблокировка
    • 600 Синхронизация
      • 601 Оператор lock и обеспечение безопасности потоков
      • 606 Класс Interlocked
      • 607 Класс Monitor
      • 608 Структура SpinLock
      • 608 Класс WaitHandle
      • 609 Класс Mutex
      • 610 Класс Semaphore
      • 613 События
      • 616 Класс Barrier
      • 618 Класс ReaderWriterLockSlim
    • 620 Таймеры
    • 622 Асинхронный шаблон на основе событий
      • 623 Класс BackgroundWorker
      • 626 Реализация возможности отмены
      • 627 Реализация функции отображения информации о ходе выполнения
      • 628 Создание асинхронного компонента на основе событий
    • 632 Резюме
  • 633 Глава 21. Безопасность
    • 634 Аутентификация и авторизация
      • 634 Идентификационные данные и принципалы
      • 636 Роли
      • 636 Декларативное обеспечение безопасности на основе ролей
      • 637 Службы клиентских приложений
    • 642 Шифрование
      • 645 Подпись
      • 647 Обмен ключами и безопасная передача данных
    • 650 Управление доступом к ресурсам
    • 653 Безопасность доступа кода
      • 653 Второй уровень прозрачной безопасности
      • 654 Полномочия
    • 660 Распространение кода с использованием сертификатов
    • 661 Резюме
  • 662 Глава 22. Локализация
    • 663 Пространство имен System.Globalization
      • 663 Особенности кодировки Unicode
      • 664 Культуры и регионы
      • 669 Культуры в действии
      • 673 Сортировка
    • 674 Ресурсы
      • 674 Создание файлов ресурсов
      • 675 Утилита для генерации файлов ресурсов
      • 675 Класс ResourceWriter
      • 676 Использование файлов ресурсов
      • 680 Пространство имен System.Resources
    • 681 Локализация приложений Windows Forms с помощью Visual Studio
      • 686 Изменение культуры программным образом
      • 687 Использование специальных сообщений-ресурсов
      • 688 Автоматический поиск значений ресурсов
      • 688 Возможность получения переводов из внешних источников
    • 689 Локализация приложений ASP.NET
    • 691 Локализация приложений WPF
      • 692 Использование ресурсов .NET в WPF
      • 693 Словари ресурсов XAML
    • 697 Специальный класс для чтения ресурсов
      • 697 Создание класса DatabaseResourceReader
      • 699 Создание класса DatabaseResourceSet
      • 699 Создание класса DatabaseResourceManager
      • 700 Создание клиентского приложения для DatabaseResourceReader
    • 700 Создание специальных культур
    • 702 Резюме
  • 703 Глава 23. Пространство имен System.Transactions
    • 704 Обзор
      • 705 Фазы транзакции
      • 705 Свойства ACID
    • 706 Базы данных и классы сущностей
    • 707 Традиционные транзакции
      • 708 Транзакции ADO.NET
      • 709 Транзакции System.EnterpriseServices
    • 710 Пространство имен System.Transactions
      • 711 Фиксируемые транзакции
      • 714 Распространение транзакций
      • 715 Зависимые транзакции
      • 717 Охватывающие транзакции
    • 724 Уровень изоляции
    • 726 Специальные диспетчеры ресурсов
      • 727 Транзакционные ресурсы
    • 732 Транзакции в Windows 7 и Windows Server 2008
    • 736 Резюме
  • 737 Глава 24. Работа с сетью
    • 738 Класс WebClient
      • 739 Загрузка файлов
      • 739 Базовый пример WebClient
      • 740 Выгрузка файлов
    • 741 Классы WebRequest и WebResponse
      • 743 Аутентификация
      • 743 Работа с прокси-серверами
      • 743 Асинхронные запросы страниц
    • 744 Отображение вывода как HTML-страницы
      • 744 Обеспечение простого просмотра веб-страниц из приложения
      • 746 Запуск экземпляров Internet Explorer
      • 746 Предоставление приложению дополнительных средств IE
      • 751 Печать с использованием элемента управления WebBrowser
      • 752 Отображение кода запрошенной страницы
      • 752 Иерархия классов WebRequest и WebResponse
    • 754 Служебные классы
      • 754 URI
      • 754 IP-адреса и имена DNS
    • 757 Низкоуровневые протоколы
      • 758 Использование SmtpClient
      • 759 Использование классов TCP
      • 759 Примеры TcpSend и TcpReceive
      • 761 Сравнение TCP и UDP
      • 762 Класс UdpClient
      • 763 Класс Socket
    • 766 Резюме
  • 767 Глава 25. Службы Windows
    • 768 Что собой представляют службы Windows
    • 768 Архитектура служб Windows
      • 769 Программа службы
      • 770 Программа для управления службой
      • 771 Программа для конфигурирования службы
      • 771 Классы для служб Windows
    • 771 Создание программы службы Windows
      • 772 Создание ключевой функциональности для службы
      • 775 Пример QuoteClient
      • 777 Программа службы
      • 781 Службы и потоки
      • 781 Установка службы
      • 782 Программа установки
      • 782 Класс Installer
      • 783 Классы ProcessInstaller и ServiceInstaller
      • 785 Класс ServiceInstallerDialog
    • 786 Мониторинг и управление службами Windows
      • 786 Оснастка Services консоли MMC
      • 787 Утилита net.exe
      • 788 Утилита sc.exe
      • 788 Окно Server Explorer в Visual Studio
      • 788 Создание специального класса ServiceController
      • 788 Мониторинг службы
    • 796 Выявление неисправностей и регистрация событий
    • 797 Резюме
  • 798 Глава 26. Взаимодействие
    • 799 Технологии .NET и COM
      • 800 Метаданные
      • 800 Освобождение памяти
      • 800 Интерфейсы
      • 802 Связывание методов
      • 802 Типы данных
      • 803 Регистрация
      • 803 Многопоточность
      • 804 Обработка ошибок
      • 805 События
      • 805 Маршализация
    • 806 Использование компонента COM в клиенте .NET
      • 806 Создание компонента COM
      • 811 Создание вызываемой оболочки исполняющей среды
      • 812 Использование оболочки RCW
      • 813 Использование сервера COM с динамическими расширениями языка
      • 814 Детали, касающиеся потоков
      • 814 Добавление точек подключения
    • 817 Использование компонента .NET в клиенте COM
      • 817 Оболочка CCW
      • 818 Создание компонента .NET
      • 819 Создание библиотеки типов
      • 821 Атрибуты, отвечающие за взаимодействие с COM
      • 823 Регистрация объектов COM
      • 824 Создание клиента COM
      • 825 Добавление точек подключения
      • 826 Создание клиента с объектом-приемником
    • 828 Вызов платформы
    • 833 Резюме
  • 834 Глава 27. Основы XAML
    • 835 Обзор
      • 836 Отображение элементов на объекты .NET
      • 837 Использование специальных классов .NET
      • 838 Свойства как атрибуты
      • 839 Свойства как элементы
      • 839 Важные типы .NET
      • 839 Коллекции
      • 840 Конструкторы
    • 840 Свойства зависимости
      • 841 Создание свойства зависимости
      • 842 Обратные вызовы приведения значений
      • 843 Обратные вызовы и события изменения значений
    • 844 Пузырьковое распространение и туннелирование событий
    • 847 Присоединенные свойства
    • 849 Расширения разметки
      • 850 Создание специальных расширений разметки
      • 851 Расширения разметки, определенные в XAML
    • 852 Чтение и запись XAML
    • 853 Резюме
  • 854 Глава 28. Managed Extensibility Framework
    • 855 Архитектура MEF
    • 861 Контракты
    • 863 Экспорты
      • 866 Экспорт свойств и методов
      • 868 Экспорт метаданных
    • 870 Импорты
      • 872 Отложенная загрузка частей
    • 873 Контейнеры и поставщики экспорта
    • 875 Каталоги
    • 877 Резюме
  • 878 Глава 29. Манипулирование файлами и реестром
    • 879 Управление файловой системой
      • 880 Классы .NET, позволяющие представлять файлы и папки
      • 883 Класс Path
      • 884 Пример: приложение FileProperties
    • 889 Перемещение, копирование и удаление файлов
      • 889 Пример: приложение FilePropertiesAndMovement
      • 890 Код приложения FilePropertiesAndMovement
    • 893 Чтение и запись данных в файлы
      • 893 Чтение из файла
      • 895 Запись в файл
      • 896 Потоки
      • 898 Буферизованные потоки
      • 898 Чтение и запись в двоичные файлы с использованием класса FileStream
      • 903 Чтение и запись в текстовые файлы
    • 910 Файлы, отображаемые в память
    • 911 Чтение информации о дисках
    • 913 Безопасность файлов
      • 913 Чтение ACL для файла
      • 914 Чтение ACL для каталога
      • 915 Добавление и удаление ACL для файла
    • 916 Чтение и запись в реестр
      • 917 Реестр
      • 919 Классы .NET для работы с реестром
    • 922 Чтение и запись в изолированное хранилище
    • 926 Резюме
  • 927 Часть IV. Данные
  • 928 Глава 30. Ядро ADO.NET
    • 929 Обзор ADO.NET
      • 929 Пространства имен
      • 930 Разделяемые классы
      • 931 Классы, специфичные для базы данных
    • 932 Использование подключений к базе данных
      • 933 Управление строками соединений
      • 934 Эффективное использование соединений
      • 936 Транзакции
    • 938 Команды
      • 939 Выполнение команд
      • 942 Вызов хранимых процедур
    • 945 Быстрый доступ к данным: читатель данных
    • 948 Управление данными и отношениями: класс DataSet
      • 949 Таблицы данных
      • 955 Отношения между данными
      • 957 Ограничения данных
    • 959 Схемы XML: генерация кода с помощью XSD
    • 965 Наполнение DataSet
      • 966 Наполнение класса DataSet с помощью адаптера данных
      • 967 Наполнение DataSet из XML
    • 967 Сохранение изменений в DataSet
      • 967 Обновление через адаптеры данных
      • 970 Запись вывода XML
    • 971 Работа с ADO.NET
      • 972 Многоуровневая разработка
      • 973 Генерация ключей на SQL Server
      • 975 Соглашения об именовании
    • 976 Резюме
  • 978 Глава 31. ADO.NET Entity Framework
    • 979 Обзор ADO.NET Entity Framework
    • 979 Отображение Entity Framework
      • 980 Логический уровень
      • 982 Концептуальный уровень
      • 984 Уровень отображения
    • 984 Entity Client
      • 985 Строка соединения
      • 986 Entity SQL
    • 986 Сущности
    • 990 ObjectContext
    • 992 Отношения
      • 992 Таблица на иерархию
      • 993 Таблица на тип
      • 995 «Ленивая», отложенная и немедленная загрузка
    • 995 Объектный запрос
    • 999 Обновления
      • 999 Отслеживание объектов
      • 1000 Информация об изменениях
      • 1001 Присоединение и отсоединение сущностей
      • 1002 Сохранение изменений в сущности
    • 1003 LINQ to Entities
    • 1004 Резюме
  • 1005 Глава 32. Data Services
    • 1006 Обзор
    • 1007 Специальный хостинг объектов CLR
      • 1007 Объекты CLR
      • 1009 Модель данных
      • 1009 Служба данных
      • 1010 Хостинг службы
      • 1011 Дополнительные операции службы
    • 1011 Приложение-клиент HTTP
    • 1014 Запросы с помощью URL
    • 1015 Использование служб данных с ADO.NET Entity Framework
      • 1015 Хостинг ASP.NET и EDM
      • 1016 Приложения .NET, использующие System.Data.Service.Context
    • 1024 Резюме
  • 1025 Глава 33. Работа с XML
    • 1026 Поддержка стандартов XML в .NET
    • 1027 Знакомство с пространством имен System.Xml
    • 1028 Использование классов из пространства имен System.Xml
    • 1029 Чтение и запись потоков данных XML
      • 1029 Использование класса XmlReader
      • 1033 Выполнение проверки на предмет действительности в XmlReader
      • 1035 Использование класса XmlWriter
    • 1037 Использование DOM в .NET
      • 1038 Использование класса XmlDocument
    • 1042 Использование класса XPathNavigator
      • 1043 Пространство имен System.Xml.XPath
      • 1048 Пространство имен System.Xml.Xsl
      • 1054 XML и ADO.NET
        • 1054 Преобразование данных ADO.NET в XML
        • 1060 Преобразование данных XML в формат ADO.NET
    • 1062 Сериализация объектов в XML
      • 1069 Выполнение сериализации в случае отсутствия доступа к исходному коду
    • 1071 LINQ to XML и .NET
    • 1072 Работа с различными объектами XML
      • 1072 Объект XDocument
      • 1073 Объект XElement
      • 1074 Объект XNamespace
      • 1075 Объект XComment
      • 1076 Объект XAttribute
    • 1077 Использование LINQ для выдачи запросов к документам XML
      • 1077 Запрос статических документов XML
      • 1078 Запрос динамических документов XML
    • 1080 Другие приемы запроса документов XML
      • 1080 Чтение данных из документа XML
      • 1081 Запись данных в документ XML
    • 1082 Резюме
  • 1083 Глава 34. Программирование приложений .NET с использованием SQL Server
    • 1084 Хост для исполняющей среды .NET
    • 1086 Пространство имен Microsoft.SqlServer.Server
    • 1086 Определяемые пользователем типы
      • 1087 Создание типов UDT
      • 1092 Использование типов UDT с SQL Server
      • 1093 Использование типов UDT из клиентского кода
    • 1094 Определяемые пользователями агрегаты
      • 1095 Создание определяемых пользователем агрегатов
      • 1096 Использование определяемых пользователем агрегатов
    • 1097 Хранимые процедуры
      • 1097 Создание хранимых процедур
      • 1098 Использование хранимых процедур
    • 1099 Определяемые пользователем функции
      • 1099 Создание определяемых пользователем функций
      • 1099 Использование определяемых пользователем функций
    • 1100 Триггеры
      • 1100 Пример создания триггеров
      • 1102 Использование триггеров
    • 1102 Тип данных XML
      • 1102 Таблицы с данными XML
      • 1103 Чтение значений XML
      • 1106 Запросы данных
      • 1108 Язык модификации данных XML (XML DML)
      • 1109 Индексы XML
      • 1110 Строго типизированный XML
    • 1111 Резюме
  • 1113 Часть V. Презентация
  • 1114 Глава 35. Ядро WPF
    • 1115 Обзор
      • 1115 Пространства имен
      • 1117 Иерархия классов
    • 1118 Фигуры
    • 1120 Геометрия
    • 1122 Трансформация
    • 1123 Кисти
      • 1124 SolidColorBrush
      • 1124 LinearGradientBrush
      • 1124 RadialGradientBrush
      • 1125 DrawingBrush
      • 1125 ImageBrush
      • 1126 VisualBrush
    • 1127 Элементы управления
      • 1127 Простые элементы управления
      • 1128 Элементы управления с содержимым
      • 1129 Элементы с озаглавленным содержимым
      • 1131 Элементы ItemsControl
      • 1131 Элементы HeaderedItemsControl
      • 1131 Декорации
    • 1132 Компоновка
      • 1133 StackPanel
      • 1133 WrapPanel
      • 1134 Canvas
      • 1134 DockPanel
      • 1135 Grid
    • 1136 Стили и ресурсы
      • 1136 Стили
      • 1138 Ресурсы
      • 1139 Системные ресурсы
      • 1140 Доступ к ресурсам из кода
      • 1140 Динамические ресурсы
      • 1141 Словари ресурсов
    • 1142 Триггеры
      • 1142 Триггеры свойств
      • 1144 MultiTrigger
      • 1145 Триггеры данных
    • 1146 Шаблоны
      • 1146 Шаблоны элементов управления
      • 1150 Шаблоны данных
      • 1151 Стилизация ListBox
      • 1152 ItemTemplate
      • 1154 Шаблоны элемента управления для элементов ListBox
    • 1155 Анимация
      • 1156 Timeline
      • 1159 Нелинейная анимация
      • 1159 Триггеры событий
      • 1162 Анимация ключевыми кадрами
    • 1163 Диспетчер Visual State Manager
    • 1166 Трехмерная графика
      • 1167 Модель
      • 1168 Камеры
      • 1169 Свет
      • 1169 Вращение
    • 1170 Резюме
  • 1171 Глава 36. Построение бизнес-приложений с помощью WPF
    • 1172 Привязка данных
      • 1173 Приложение BooksDemo
    • 1174 Привязка с помощью XAML
    • 1177 Привязка простого объекта
    • 1179 Уведомления об изменениях
    • 1181 Объектный поставщик данных
    • 1183 Привязка списка
    • 1186 Привязка типа «главная–детали»
    • 1186 Множественная привязка
    • 1188 Приоритетная привязка
    • 1189 Преобразование значения
    • 1191 Динамическое добавление элементов списка
    • 1192 Селектор шаблона данных
    • 1194 Привязка к XML
    • 1195 Проверка достоверности привязки
    • 1200 Связывание с командами
      • 1201 Определение команд
      • 1201 Определение источников команд
      • 1202 Привязки команд
    • 1202 Элемент управления TreeView
    • 1207 DataGrid
      • 1209 Специальные столбцы
      • 1209 Детали, связанные со строкой
      • 1209 Группирование с помощью DataGrid
    • 1212 Резюме
  • 1213 Глава 37. Создание документов с помощью WPF
    • 1214 Текстовые элементы
      • 1214 Шрифты
      • 1216 TextEffect
      • 1217 Inline
      • 1219 Блоки
      • 1221 Списки
      • 1221 Таблицы
    • 1222 Анкеры для блоков
    • 1224 Документы нефиксированного формата
    • 1225 Документы фиксированного формата
    • 1229 Документы ХPS
    • 1230 Печать
      • 1231 Печать с помощью PrintDialog
      • 1231 Печать визуальных элементов
    • 1233 Резюме
  • 1234 Глава 38. Silverlight
    • 1235 Сравнение WPF и Silverlight
    • 1236 Создание проекта Silverlight
    • 1238 Навигация
    • 1242 Работа с сетью
      • 1242 Создание сущностной модели данных ADO.NET
      • 1243 Создание службы WCF для клиентов Silverlight
      • 1245 Вызов служб WCF
      • 1248 Использование служб данных WCF
      • 1250 Использование System.Net для доступа к службе
    • 1251 Интеграция с браузером
      • 1251 Вызов кода JavaScript
      • 1252 Обращение к Silverlight из кода JavaScript
    • 1253 Приложения Silverlight, работающие вне браузера
    • 1256 Резюме
  • 1257 Глава 39. Windows Forms
    • 1258 Создание приложения Windows Forms
      • 1263 Иерархия классов
    • 1264 Класс Control
      • 1264 Размер и местоположение
      • 1265 Внешний вид
      • 1265 Взаимодействие с пользователем
      • 1266 Функциональность Windows
      • 1267 Прочая функциональность
    • 1267 Стандартные элементы управления и компоненты
      • 1267 Button
      • 1268 CheckBox
      • 1269 RadioButton
      • 1269 ComboBox, ListBox и CheckedListBox
      • 1270 Элемент управления DataGridView
      • 1278 DateTimePicker
      • 1279 ErrorProvider
      • 1279 ImageList
      • 1279 Label
      • 1280 ListView
      • 1280 PictureBox
      • 1280 ProgressBar
      • 1281 TextBox, RichTextBox и MaskedTextBox
      • 1282 Panel
      • 1283 FlowLayoutPanel и TableLayoutPanel
      • 1283 SplitContainer
      • 1284 TabControl и TabPages
      • 1284 ToolStrip
      • 1286 MenuStrip
      • 1286 ContextMenuStrip
      • 1286 ToolStripMenuItem
      • 1286 ToolStripManager
      • 1287 ToolStripContainer
    • 1287 Формы
      • 1287 Класс Form
      • 1292 Многодокументный интерфейс
      • 1292 Создание собственных элементов управления
    • 1293 Резюме
  • 1294 Глава 40. Основы ASP.NET
    • 1295 Введение в ASP.NET
    • 1295 Обработка файлов ASP.NET
      • 1296 Веб-сайты и веб-приложения
      • 1296 Управление состоянием в ASP.NET
    • 1297 Веб-формы ASP.NET
      • 1300 Модель кода ASP.NET
      • 1302 Серверные элементы управления ASP.NET
    • 1318 ADO.NET и привязка данных
      • 1318 Обновление приложения регистрации мероприятий
      • 1325 Дополнительные сведения о привязке данных
    • 1331 Конфигурирование приложения
    • 1333 Резюме
  • 1334 Глава 41. Средства ASP.NET
    • 1335 Пользовательские и специальные элементы управления
      • 1336 Пользовательские элементы управления
      • 1341 Специальные элементы управления
    • 1345 Мастер-страницы
      • 1346 Обращение к содержимому мастер-страницы из веб-страниц
      • 1347 Вложенные мастер-страницы
      • 1347 Использование мастер-страниц в проекте PCSDemoSite
    • 1348 Навигация по сайту
      • 1349 Добавление файла карты сайта
      • 1350 Навигация в проекте PCSDemoSite
    • 1351 Безопасность
      • 1352 Добавление аутентификации с помощью форм в мастере Security Setup Wizard
      • 1353 Реализация системы входа
      • 1354 Серверные веб-элементы управления входом
      • 1355 Защита каталогов
      • 1356 Безопасность в проекте PCSDemoSite
    • 1358 Темы
      • 1358 Применение тем к страницам
      • 1359 Определение тем
      • 1359 Темы в проекте PCSDemoSite
    • 1362 Web Parts
      • 1362 Компоненты Web Parts приложения
      • 1364 Пример использования веб-частей
    • 1371 ASP.NET AJAX
    • 1371 Что такое AJAX?
      • 1373 Что такое ASP.NET AJAX?
      • 1378 Пример веб-сайта ASP.NET AJAX
    • 1380 Конфигурирование веб-сайта, оснащенного ASP.NET AJAX
    • 1381 Добавление функциональности ASP.NET AJAX
      • 1388 Использование AJAX Library
    • 1396 Резюме
  • 1398 Глава 42. Динамические данные ASP.NET и MVC
    • 1399 Маршрутизация
      • 1400 Параметры строки запроса
      • 1402 Определение маршрутов
      • 1405 Использование параметров маршрута
    • 1407 Динамические данные
      • 1408 Создание веб-сайтов динамических данных
      • 1417 Дальнейшее развитие
      • 1417 MVC
      • 1418 Что собой представляет MVC
      • 1419 Что собой представляет ASP.NET MVC
      • 1419 Простое приложение ASP.NET MVC
      • 1426 Настройка приложения ASP.NET MVC
      • 1434 Дальнейшее изучение
    • 1435 Резюме
  • CD Часть VI. Коммуникации (на компакт-диске)
  • CD Глава 43. Технология Windows Communication Foundation CD
  • CD Глава 44. Технология Windows Workflow Foundation 4 CD
  • CD Глава 45. Одноранговые сети CD
  • CD Глава 46. Технология Message Queuing CD
  • CD Глава 47. Синдикация CD
  • CD Приложение A. Рекомендации по разработке приложений для Windows 7 и Windows Server 2008 R2 (на компакт-диске) CD
  • 1436 Предметный указатель
  • CD Дополнительные главы (на компакт-диске)
  • CD Глава 48. Вывод графики с помощью GDI+
  • CD Глава 49. Visual Studio Tools for Office
  • CD Глава 50. Платформа Managed Add – In Framework
  • CD Глава 51. Технология Enterprise Services
  • CD Глава 52. Службы каталогов
  • CD Глава 53. C#, Visual Basic, C++/CLI и F#
  • CD Глава 54. .NET Remoting
  • CD Глава 55. Веб-службы в ASP.NET
  • CD Глава 56. LINQ to SQL
  • CD Глава 57. Windows Workflow Foundation

Инструкция как скачать книгу Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер: C# 4.0 и платформа .NET 4 для профессионалов (+ CD-ROM) в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
C# 4.0 и платформа .NET 4 для профессионалов (+ CD-ROM)
Рейтинг книги:
0 голосов
2065

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: