Из любопытства я разобрал mscorlib.dll, чтобы проверить реализацию класса System.Object.
Я нашел в этом что-то странное.
1).
public class Object {
...
protected override void Finalize(){}
...
}
Почему базовый класс имеетпереопределенный метод в нем?
2) public class Employee {
public void InstanceMethod() {
this.Finalize();
//Does not compile, can i not access protected methods of base class??
}
}
Мне просто интересно, как используется метод «защищенного завершения» в классе Object и почему он получил специальную обработку компилятором?