在C#继承中,构造函数和析构函数执行顺序示例

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace ProgramCall

{

    class Base1

    {

        public Base1()

        {

            Console.WriteLine("It is Base  Class  Constructor");

        }

        ~Base1()

        {

            Console.WriteLine("It is Base  Class  Destructor");

        }

    }

    class Derived1 : Base1

    {

       public Derived1()

        {

 

            Console.WriteLine("It is Derived  Class  Constructor");

        }

        ~Derived1()

        {

            Console.WriteLine("It is Derived  Class  Destructor");

        }

    }

    class ConstructorInheritance

    {

        static void create()

        {

            Derived1 obj = new Derived1();

        }

        static void Main()

        {

            create();

            GC.Collect();

            Console.Read();

        }

    }
在C#继承中,构造函数和析构函数执行顺序

在本文中,我将解释C#继承中构造函数和析构函数的执行顺序。

继承是C#中的重要概念。在继承期间,基类和派生类还可以包含构造函数和析构函数。
在这种情况下,基类构造函数将被称为第一类或者派生类,这一点很容易混淆。如果我们为派生类创建一个实例,那么将首先调用基类的构造函数,当派生实例被销毁时,还将调用基类析构函数。
将首先调用基类构造函数。那么

构造函数的执行顺序将与其派生的顺序相同。
析构函数的执行顺序与派生顺序相反。

日期:2020-04-11 22:50:18 来源:oir作者:oir