Язык программирования C#9 и платформа .NET5
Шрифт:
Тестирование модифицированного класса Person
Использование статических членов класса System.Object
Резюме
Глава 7
Ода ошибкам, дефектам и исключениям
Роль обработки исключений .NET
Строительные блоки обработки исключений в .NET
Базовый класс System.Exception
Генерация общего исключения
Перехват исключений
Выражение throw (нововведение в версии 7.0)
Конфигурирование состояния исключения
Свойство TargetSite
Свойство StackTrace
Свойство HelpLink
Свойство Data
Исключения уровня системы (System.SystemException)
Исключения уровня приложения (Systern.ApplicationException)
Построение специальных исключений, способ первый
Построение специальных исключений, способ второй
Построение специальных исключений, способ третий
Обработка множества исключений
Общие операторы catch
Повторная генерация исключений
Внутренние исключения
Блок finally
Фильтры исключений
Отладка необработанных исключений с использованием Visual Studio
Резюме
Глава 8
Понятие интерфейсных типов
Сравнение интерфейсных типов и абстрактных базовых классов
Определение специальных интерфейсов
Реализация интерфейса
Обращение к членам интерфейса на уровне объектов
Получение ссылок на интерфейсы: ключевое слово as
Получение ссылок на интерфейсы: ключевое слово is (обновление в версии 7.0)
Стандартные реализации (нововведение в версии 8.0)
Статические конструкторы и члены (нововведение в версии 8.0)
Использование интерфейсов в качестве параметров
Использование интерфейсов
в качестве возвращаемых значенийМассивы интерфейсных типов
Автоматическая реализация интерфейсов
Явная реализация интерфейсов
Проектирование иерархий интерфейсов
Иерархии интерфейсов со стандартными реализациями (нововведение в версии 8.0)
Множественное наследование с помощью интерфейсных типов
Интерфейсы IEnumerable и IEnumerator
Построение итераторных методов с использованием ключевого слова yield
Защитные конструкции с использованием локальных функций (нововведение в версии 7.0)
Построение именованного итератора
Интерфейс ICloneable
Более сложный пример клонирования
Интерфейс IComparable
Указание множества порядков сортировки с помощью IComparer
Специальные свойства и специальные типы сортировки
Резюме
Глава 9
Классы, объекты и ссылки
Базовые сведения о времени жизни объектов
Код CIL для ключевого слова new
Установка объектных ссылок в null
Выяснение, нужен ли объект
Понятие поколений объектов
Эфемерные поколения и сегменты
Типы сборки мусора
Фоновая сборка мусора
Тип System.GC
Принудительный запуск сборщика мусора
Построение финализируемых объектов
Переопределение метода System.Object.Finalize
Подробности процесса финализации
Построение освобождаемых объектов
Повторное использование ключевого слова using в C#
Объявления using (нововведение в версии 8.0)