Выбор ответа Middle ООП в C# обновлено

Когда вызывается статический конструктор

Вопрос

Когда выполняется статический конструктор класса?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Один раз, перед первым использованием типа. Статический конструктор вызывает среда выполнения, ровно один раз на тип (для дженерика на каждый закрытый тип) и потокобезопасно, перед первым использованием.

Варианты ответа

  1. При загрузке сборки, сразу для всех её классов
  2. Один раз, перед первым использованием типаправильный ответ
  3. Перед каждым созданием экземпляра через new
  4. Только при явном вызове ClassName.cctor()

Разбор

Статический конструктор вызывает среда выполнения, ровно один раз на тип (для дженерика на каждый закрытый тип) и потокобезопасно, перед первым использованием. Он не выполняется при загрузке сборки для всех классов и не повторяется для каждого экземпляра. Вызвать его вручную нельзя. Исключение в статическом конструкторе делает тип непригодным: дальше будет TypeInitializationException.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме