C#3.0的分部方法

來源:互聯網
上載者:User

C#分部方法的文法

在看C#語言的What's New時,突然發現新特性列表的最後,多出了一個“Partial Method Definitions”,但並不像其他新特性一樣有超連結連結到其說明。上網搜尋了一下,關於部分型別的資訊非常少。尤其是中文資訊,英文技術文章中,倒是有兩篇不錯的:http://blogs.msdn.com/wesdyer/archive/2007/05/23/in-case-you-haven-t-heard.aspx和http://community.bartdesmet.net/blogs/bart/archive/2007/07/28/c-3-0-partial -methods-what-why-and-how.aspx。

又仔細看了一下MSDN Library for Visual Studio 2008 Beta 2,終於對這個語言特性有所瞭解,在這裡介紹一下,希望對大家有所協助。

分部方法的定義和部分型別類似,只需在方法定義前添加partial關鍵字。但分部方法只能拆分成兩個部分——一部分是定義聲明(Definition Declaration),另一部分是實現聲明(Implement Declaration)。其中定義聲明看上去和抽象方法類似:

partial class CA
{
// ……
private void partial M(); // 定義聲明|
而實現聲明看上去和普通方法類似:
private void partial M() // 實現聲明
{
// 方法體
}

在調用分部方法時,和調用其他方法一樣:

CA a = new CA();
a.M();

只是,如果只有定義聲明而沒有編寫實現聲明,則編譯器不會發射(Emit)該方法和調用該方法的語句的中繼資料與IL代碼。換言之,如果沒有編寫實現聲明,則編譯得到的程式集中,CA類型裡並沒有M這個方法。

使用分部方法的注意事項

分部方法的文法非常簡單,但有一些事項要注意。

相關文章

聯繫我們

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