Домен доступности члена, объявленного в исходном коде, состоит из набора всех разделов программного текста, в которых этот элемент может быть доступен.
модификатор доступности изменяет содержимое домена доступности.
Интересный факт о модификаторах доступности состоит в том, что модификатор доступности всегда делает домен доступности больше или сохраняет его того же размера .Модификатор доступности никогда не делает домен доступности меньшим .
Мы хотим, чтобы домен доступности деструктора всегда был пустым. То есть он не должен никогда быть легальным для доступа к деструктору в любой области текста программы.
Причина этого в том, что мы хотим предоставить вам принудительный инвариант, чтобы деструктор для конкретного экземпляра запускался ровно один раз в течение времени жизни объекта, в конце указанного срока жизни.(«Воскрешение» мертвых объектов во время финализации вызывает интересные вопросы, которые я расскажу позже.) Запретив доступ к деструктору, мы гарантируем, что пользовательский код никогда не вызовет деструктор на ранней стадии.
Поэтому этоглупо с нашей стороны позволить пользователю увеличить размер домена доступности;мы не хотим вручать пользователю инструмент, чтобы победить этот тщательно продуманный аспект дизайна языка.
Вы хотели победить эту функцию безопасности?Зачем?Можете ли вы описать сценарий, в котором важно, чтобы вы могли вызывать деструктор из некоторой области текста программы?
деструктор по сути является синтетическим сахаром для защищенной функции Finalize
Верно.Спецификация отмечает это в разделе 10.13.И обратите внимание, что домен доступности для предположительно защищенного метода "Завершить" также пуст;это не может быть ни переопределено, ни вызвано.
Мы могли бы выбрать какой-то совершенно другой механизм для реализации деструкторов, но это тот, который мы выбрали.Тот факт, что нам довелось выбрать какую-то конкретную стратегию реализации для функции деструктора, не имеет особого отношения к тому факту, что область доступности деструктора должна принудительно оставаться пустой по соображениям безопасности.