でさ、DerivedOverrideを↓こう拡張したと思って。
class DerivedOverride : Base {
 internal override string CallMe() {
  return "Override";
}
internal string ThisIsNotInBaseClass() {
  return "Really?";
 }
}

で、何も知らないBaseクラスの開発者が、↓こういうことしたら
どうなる?
class Base {
 internal virtual string CallMe() {
  return "Base";
}
 internal virtual string ThisIsNotInBaseClass() {
  return "Not really";
 }
}
これが実装の継承の欠点の1つだ。C♯はこれを避けるためにnewを
導入した。↑のコードはC♯では警告になるよ。これがnewの意味ね。
正しく使いこなせるなら、virtual/overrideを避ける理由はないね。