C#對象初始化的先後順序

來源:互聯網
上載者:User

標籤:ar   line   new   app   ad   har   c#   對象   

using System;namespace ConsoleApp{    class Program    {        static void Main()        {            A a = new B();            Console.ReadKey();        }    }    class A    {        int z = 1;////////////////////////////////////////////7        int k;        static int i = 1;/////////////////////////////////5        static int j;        public A()////////////////////////////////////////////////8        {            k = -1;///////////////////////////////////////////9            PrintFields();///////////////////////////////////////////10        }        public virtual void PrintFields() { }        static A()        {            j = 2;/////////////////////////////////////////////6        }    }    class B : A    {        int x = 1; ///////////////////////////////////////3        int y;        static int m = 1;/////////////////////////////////1        static int n;        public B()//////////////////////////////////////////4        {            y = -1;///////////////////////////////////////12            PrintFields();///////////////////////////////13        }        public override void PrintFields()        {            Console.WriteLine("x={0},y={1}", x, y);////////////////////////////////11,14        }        static B()        {            n = 2;//////////////////////////////////////////2        }    }}


 

總結為一句話就是先子類靜態建構函式,再基類靜態建構函式,再基類執行個體建構函式,再子類執行個體建構函式
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.