C# 類中隱藏基類方法和Partial

來源:互聯網
上載者:User

標籤:des   style   blog   http   io   color   ar   os   使用   

原文:C# 類中隱藏基類方法和Partial

今天對於.NET開發人員來說最開心的事情莫過於微軟搞開源了,這覺得是給搞.NET開發的長臉。雖然我是一個初學者,這無疑給我極大的學習動力。Fighting!!!

當一個類從父類繼承了一個成員時,也就繼承了它的執行代碼,如果成員時虛擬,我們可以用override重寫這段執行代碼。但無論他是否是虛擬,都可以通過new 關鍵字來隱藏它。例如:

public class BaseClass{    public void DoSomething()    {        //執行代碼    }}public class ChildClass:BaseClass{    new public void DoSomething()    {        //隱藏基類的DoSomething方法    }}

如果不使用new關鍵字的話,編譯器會警告,說隱藏了基類成員。這樣當我們不想繼承的方法像基類那樣運行我們就可以隱藏它。

有如下兩個類:

public class BaseClass{    public virtual void DoSomething()    {        Console.WriteLine("Base Function!");    }}public class ChildClass:BaseClass{    new public void DoSomething()    {        Console.WriteLine("Child Function!");    }}

我們用下面的代碼調用它們

ChildClass child= new ChildClass();BaseClass baseClass;baseClass = child;baseClass.DoSomething();

結果為

BaseFunction!

如果我們不使用new關鍵字,而是用override重寫基類的方法,那麼我們得到的結果應該是“Child Function!”。

 

Partial定義部分類和部分方法

我們可以通過Partial來定義一個類,通過這個關鍵字我們可以在一個檔案中定義欄位、屬性和建構函式,而在另外的一個檔案中定義其方法。

public partial class MyClass{    //部分類定義}

在windows表單應用程式中就用到了部分類的定義,Windows表單的代碼分別在Form.cs和Form.Designer.cs中。

對於方法我們同樣可以在不同的部分類中定義,在一個部分類中聲明它,在另外一個部分類中實現,例如像下面的代碼:

public partial class MyClass{    partial void MyPartialMethod();}public partial class MyClass{    partial void MyPartialMethod()    {        //方法的實現    }}

C# 類中隱藏基類方法和Partial

聯繫我們

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