using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace new_test { public class BClass //基类 { public void DoWork() { Console.WriteLine("调用的是基类的方法"); } public int WorkField; public int WorkProperty { get { return 0; } } } public class DerivedClass : BClass //子类 { public new void DoWork() //使用新的派生成员代替基类成员需要使用new关键字 { Console.WriteLine("调用的是新类的方法"); } public new int WorkField; public new int WorkProperty { get { return 0; } } static void Main() { DerivedClass B = new DerivedClass(); B.DoWork(); //调用新的方法 BClass A = (BClass)B; //派生类的实例强制转换为基类的实例 A.DoWork(); //调用老的方法 } } }