Выбрать главу

   Взаимодействие с автоматическими свойствами

   Автоматические свойства и стандартные значения

   Инициализация автоматических свойств

  Понятие инициализации объектов

   Обзор синтаксиса инициализации объектов

   Использование средства доступа только для инициализации (нововведение в версии 9.0)

   Вызов специальных конструкторов с помощью синтаксиса инициализации

   Инициализация данных с помощью синтаксиса инициализации

  Работа с константными полями данных и полями данных, допускающими только чтение

   Понятие константных полей данных

   Понятие полей данных, допускающих только чтение

   Понятие статических полей, допускающих только чтение

  Понятие частичных классов

  Использование записей (нововведение в версии 9.0)

   Эквивалентность с типами записей

   Копирование типов записей с использованием выражений with

  Резюме

Глава 6

  Базовый механизм наследования

   Указание родительского класса для существующего класса

   Замечание относительно множества базовых классов

   Использование ключевого слова sealed

  Еще раз о диаграммах классов Visual Studio

  Второй принцип объектно-ориентированного программирования: детали наследования

   Вызов конструкторов базового класса с помощью ключевого слова base

   Хранение секретов семейства: ключевое слово protected

   Добавление запечатанного класса

   Наследование с типами записей (нововведение в версии 9.0)

    Эквивалентность с унаследованными типами записей

  Реализация модели включения/делегации

   Определения вложенных типов

  Третий принцип объектно-ориентированного программирования: поддержка полиморфизма в C#

   Использование ключевых слов virtual и override

   Переопределение виртуальных членов с помощью Visual Studio/Visual Studio Code

   Запечатывание виртуальных членов

   Абстрактные классы

   Полиморфные интерфейсы

   Сокрытие членов

  Правила приведения для базовых и производных классов

   Использование ключевого слова as

   Использование ключевого слова is (обновление в версиях 7.0, 9.0)

   Использование отбрасывания вместе с ключевым словом is (нововведение в версии 7.0)

   Еще раз о сопоставлении с образцом (нововведение в версии 7.0)

    Использование отбрасывания вместе с операторами switch (нововведение в версии 7.0)

  Главный родительский класс: System.Object

   Переопределение метода System.Object.ToString()

   Переопределение метода System.Object.Equals()

   Переопределение метода System.Object.GetHashCode()

   Тестирование модифицированного класса Person

   Использование статических членов класса System.Object

  Резюме

Глава 7

  Ода ошибкам, дефектам и исключениям

  Роль обработки исключений .NET

   Строительные блоки обработки исключений в .NET

   Базовый класс System.Exception

  Простейший пример

   Генерация общего исключения

   Перехват исключений

   Выражение throw (нововведение в версии 7.0)