Автоматические свойства и стандартные значения
Инициализация автоматических свойств
Понятие инициализации объектов
Обзор синтаксиса инициализации объектов
Использование средства доступа только для инициализации (нововведение в версии 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)
Конфигурирование состояния исключения