>>229
newとoverride/virtualは機能が違う。↓実行してみて。
using System;
class Base {
 internal virtual string CallMe() {
  return "Base";
 }
}

class DerivedOverride : Base {
 internal override string CallMe() {
  return "Override";
 }
}

class DerivedNew : Base {
 internal new string CallMe() {
  return "New";
 }
}

class c {
 static void Main() {
  DerivedOverride over = new DerivedOverride();
  Console.WriteLine(over.CallMe());
  DerivedNew dnew = new DerivedNew();
  Console.WriteLine(dnew.CallMe());
  Base b1 = over;
  Console.WriteLine(b1.CallMe());
  Base b52 = dnew;
  Console.WriteLine(b52.CallMe());
 }
}