API の変更について 2 つの dll を比較しようとしているときに、ある同僚が、一部のクラスに 2 つの GetType() メソッドがあることに気付きました。
さらに詳しく調べると、System.Exception
GetType() が影になっていることがわかります。
// this method is required so Object.GetType is not made virtual by the compiler
public new Type GetType()
{
return base.GetType();
}
_ExceptionをSystem.Exception
実装していることがわかりますが、とにかく仮想ではないため、GetType を明示的にシャドウする必要がある理由がわかりません。
では、なぜ System.Exception は GetType() をシャドウするのでしょうか?