Выбор ответа Middle ООП в C# обновлено
Когда вызывается статический конструктор
Вопрос
Когда выполняется статический конструктор класса?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Один раз, перед первым использованием типа. Статический конструктор вызывает среда выполнения, ровно один раз на тип (для дженерика на каждый закрытый тип) и потокобезопасно, перед первым использованием.
Варианты ответа
- При загрузке сборки, сразу для всех её классов
- Один раз, перед первым использованием типаправильный ответ
- Перед каждым созданием экземпляра через
new - Только при явном вызове
ClassName.cctor()
Разбор
Статический конструктор вызывает среда выполнения, ровно один раз на тип (для дженерика на каждый закрытый тип) и потокобезопасно, перед первым использованием. Он не выполняется при загрузке сборки для всех классов и не повторяется для каждого экземпляра. Вызвать его вручную нельзя. Исключение в статическом конструкторе делает тип непригодным: дальше будет TypeInitializationException.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
static abstract члены интерфейсов
Следующий вопрос
Вызов виртуального метода из конструктора
Термины по теме
Ещё по теме «ООП в C#»
- Абстрактный класс или интерфейс
- protected internal и private protected
- Методы интерфейса по умолчанию
- Явная реализация интерфейса
- Банковские счета: инкапсуляция и инварианты
- Фигуры: полиморфная площадь
- Чем new отличается от override
- new и override при вызове через базовый тип