Out of curiosity i disassembled mscorlib.dll to check the implementation of System.Object class.
I found something weird in that.
1).
public class Object {
...
protected override void Finalize(){}
...
}
How come a base class has an overriden method in it?
2) public class Employee {
public void InstanceMethod() {
this.Finalize();
//Does not compile, can i not access protected methods of base class??
}
}
I am just wondering what's the use of "protected Finalize" method in Object class and why it has got special treatment by compiler?