C# does not contain a constructor that takes no parameter

來源:互聯網
上載者:User

標籤:ar   for   sp   on   c   r   bs   type   as   

C# 中子類要重用父類的建構函式時, 通常會在子類建構函式後面調用 : base(paratype, para). 

假設父類有一個參數個數為1的建構函式, 沒有 0 參建構函式。 子類想要重用這個建構函式, 如果沒有寫 :base(paratype, para), 就會有這個錯誤。 

因為如果沒寫, VS 會認為子類是繼承父類的 0 參建構函式, 但是由於父類並沒有定義 0 參建構函式, 所以就會報錯。

另外, 可以在base()中調用一個靜態方法來修改子類建構函式的參數在傳遞給父類建構函式。 如:

class ParentClass{     public ParentClass(string Name)     {}}class ChildClass{      public ChildClass(string firstName, string familyName):base(CombineName(firstName, familyName)      {}       static string ConbineName(string firstName, string familyName)        {return string.Format("{0},{1}", firstName, familyName);}


C# does not contain a constructor that takes no parameter

聯繫我們

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