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();            //调用老的方法
        }
    }
}


本文转载:CSDN博客