在尝试比较两个 dll 的 API 更改时,一位同事注意到某些类有两个 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();
}
我看到它System.Exception
实现了_Exception,但我看不出为什么必须显式隐藏GetType,因为它无论如何都不是虚拟的。
那么为什么 System.Exception 会影响 GetType() 呢?