類型構造器與執行個體構造器

來源:互聯網
上載者:User

標籤:style   blog   color   代碼   div   re   

比較執行個體構造器和類型構造器的區別,類型構造器必須是static,並且不允許定義存取修飾詞,類型構造器只能被執行一次。:

 class mybaseclass    {         public mybaseclass()        {            Console.WriteLine("基類執行個體構造器");        }        static mybaseclass()//類型構造器不允許出現存取修飾詞        {            Console.WriteLine("基類類型構造器");        }        public void test()//這裡如果是private/protected,衍生類別就無法訪問        {            Console.WriteLine("測試動作");        }    }    class testClass:mybaseclass    {        public testClass()        {            Console.WriteLine("衍生類別執行個體構造器");        }        static  testClass()        {            Console.WriteLine("衍生類別的類型構造器");        }    }

如果執行以下代碼,請猜測輸出結果:

class Program    {        static void Main(string[] args)        {                       testClass mytestclass = new testClass();            mytestclass.test();            testClass mytestClass2 = new testClass();            mytestClass2.test();                  }            }

輸出結果如下:

當執行mytestclass時,輸出如下順序:

衍生類別的類型構造器基類的類型構造器基類的執行個體構造器衍生類別的執行個體構造器測試動作

當執行mytestclass2時,輸出如下順序:

基類的執行個體構造器衍生類別的執行個體構造器測試動作

 

從上面的結果可以看出,類型構造器先與執行個體構造器執行,類型構造器只執行一次。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.