Luffy1
@Luffy1
Студент, Junior .NET programmer

Что происходит под капотом, когда мы скрываем метод производного класса?

Когда мы объявляем метод виртуальным, то при компиляции в таблицу записей методов помещается новая запись, в которую помещается флаг, каким этот метод является(виртуальным, экземплярным или статическим), но как помечается под капотом, что метод сокрыт? Ни у Голдштейна, ни у Рихтера я не нашёл инфу об этом.
class A
{
 public void DoSmth()
 {

 }
}
class B : A
{
 public new void DoSmth()
 {

 }
}
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 2
freeExec
@freeExec
Участник OpenStreetMap
Вот вы уже две недели спрашиваете про всяких "подкапот" который в повседневной жизни никому не сдался.
Сколько собственных программ вы уже написали? Сколько пришлось переписать из-за вновь полученных знаний? Каков выигрышь? Когда начнёте сами добывать информацию? Сложно скомпилировать код и посмотреть как он там "под капотом"?
IL_0000: nop
IL_0001: newobj instance void B::.ctor()
IL_0006: stloc.0
IL_0007: ldloc.0
IL_0008: callvirt instance void A::DoSmth()
IL_000d: nop
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы