C#中base关键字的几种用法 - bobob - 博客园 (cnblogs.com)

C#构造函数里的base和this的区别 - 傲世狂枫 - 博客园 (cnblogs.com)

我的理解

1、在创建构造方法时,指定执行父类的构造方法

    public class B : A
    {
        public B():base()
        {
            Console.WriteLine("Build B");
        }

    }

 

       static void Main(string[] args)
        {
            B b = new B();

            //Console.WriteLine("Hello World!");
        }

执行结果:

 

 若更改B的构造函数,将base("")改成base()

    public class B : A
    {
        public B():base()
        {
            Console.WriteLine("Build B");
        }

    }

执行结果:

 

 2、在派生类中调用基类的方法。

public class Father
    {
        protected string _name = "Father";
        public void startFire()
        {
            Console.WriteLine("{0}生火",_name);
        }
    }
public class Son : Father
    {
        protected string _name = "Son";
        public void boil()
        {
            base.startFire();
            Console.WriteLine("{0}煮饭",_name);
        }
    }
static void Main(string[] args)
        {
            //B b = new B();
            Son s = new Son();
            s.boil();
            Console.WriteLine("Hello World!");
        }

执行结果:

 

 

执行结果: