호기심에서 벗어나 System.Object 클래스의 구현을 검사하기 위해 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 클래스에서 "보호의 Finalize"방법을 사용 무엇이 궁금하고 왜 컴파일러에 의해 특별 대우를 가지고있다?
+1 반사경의 버그를 지적합니다. 나는 항상 그것에 맹목적으로 의지했다 :). 리플렉터를 사용하는 동안 IL을 직접 확인하는 것이 좋습니다. –