Свойство 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)