ASP.NET方法如何重載需要必備哪些條件_實用技巧

來源:互聯網
上載者:User
決定方法是否構成重載有以下幾個條件:

◆ 在同一個類中;

◆ 方法名相同;

◆ 參數列表不同。

在設計重載方法的時候應該注意一下事項

1 避免隨意更改重載中的參數名稱。如果某個重載的一個參數與另一個重載的一個參數表示相同的輸入,則這兩個參數應具有同樣的名稱。

例如,不要執行下面的操作:
複製代碼 代碼如下:

public void Write(string message, FileStream stream){}
public void Write(string line, FileStream file,bool closeStream){}

這些重載的正確定義如下所示
複製代碼 代碼如下:

public void Write(string message, FileStream stream){}
public void Write(string message, FileStream stream,bool closeStream){}

保持重載成員參數的順序一致性。在所有重載中,同名參數的位置應該相同。

例如,不要執行下面的操作:
複製代碼 代碼如下:

public void Write(string message, FileStream stream){}
public void Write(FileStream stream, string message, bool closeStream){}

這些重載的正確定義如下所示:
複製代碼 代碼如下:

public void Write(string message, FileStream stream){}
public void Write(string message, FileStream stream,bool closeStream){}

以上兩種寫法結構清晰,增強代碼的可讀性,更加適合規範。

此準則有兩項約束:

如果重載採用變數參數列表,則該列表必須是最後一個參數。

如果重載採用 out 參數,按照約定,這類參數應作為最後的參數

如果需要具有擴充性,將最長的重載作為虛重載。較短的重載只應逐步調用較長的重載。

與override重寫的區別

Override是指父類和子類之間方法的繼承關係,這些方法有著相同的名稱和參數類型。

聯繫我們

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