Собеседование .NET 2021. Каверзные вопросы: Виртуальные методы, статические конструкторы и поля

preview_player
Показать описание
Разбираем вопросы которые задают на собеседованиях. В данном цикле будут разобраны 10 вопросов, собранных в 8-ми коротких видеороликах. В пятом видео разбираем вопросы, относящиеся к виртуальным методам, статическим конструкторам и полям.
Исходники:

Рекомендации по теме
Комментарии
Автор

4:24 я тоже раньше считал время вызова статических полей/конструкторов недетерминированным. По факту, оно четко известно — в момент, когда первый раз упоминается класс, необходимо в куче создать класс-тип, в котором вся статика и инициализируется.

4:56 я вас сильно удивлю, но конструктор инстанца может отработать перед статическим конструктором: создайте статическое поле, которое инициализируется конструктором инстанца (Singleton Pattern, например). В этом случае статическое поле инициализируется перед всеми конструкторами, и напрямую вызывает инстацирование еще до вызова статического конструктора CLR-ом

DjonNIK
Автор

Спасибо за уроки, хочу уточнить
Когда мы делаем override мы переопределяем поведение (для всей иерархии наследования), а когда new мы перекрываем поведение в наследнике - с сохранением базового поведения, это два разных подхода (где это используется не знаю, но у меня спросили на собесе про это)

trvl
Автор

полезный контент, спасибо! only question is у вас в слаке сообщения на английском, но first вы читаете как фирст, вместо ф(ё)рст. как так?))

shurale