我正在閱讀「Apress Pro LINQ:C#中的語言集成查詢」一書,我遇到了部分方法,但我真的不明白他們需要什麼。爲什麼你需要c#中的部分方法?事件是否可以用來實現相同的目標?
我認爲書中的例子(屬性改變之前和之後)可以使用事件來實現。那麼有什麼解釋?
我正在閱讀「Apress Pro LINQ:C#中的語言集成查詢」一書,我遇到了部分方法,但我真的不明白他們需要什麼。爲什麼你需要c#中的部分方法?事件是否可以用來實現相同的目標?
我認爲書中的例子(屬性改變之前和之後)可以使用事件來實現。那麼有什麼解釋?
是的,您可以通過部分方法獲得與事件類似的效果。部分方法實際上只是讓代碼生成器(主要是設計者)爲未生成的代碼生成鉤子的一種方式。事件可以填補這個角色。
但是存在要特別
交換事件局部方法它們不是「需要」的,但是適用於大規模應用。廣泛使用事件會導致Smart UI反模式,其中業務邏輯與用戶界面緊密結合,而部分功能則可讓您更好地分離您的疑慮。
以下是關於部分方法的MSDN C#編程指南的鏈接。 http://msdn.microsoft.com/en-us/library/wa80x488.aspx
如果沒有實現,編譯器將刪除對部分方法的調用。使用事件的替代方法,監聽器必須在運行時檢查(它們也需要存儲等)。這允許部分方法更高效,特別是當有許多潛在的「事件」時,只有少數人有「聽衆」註冊時。
部分方法是在編譯時定義的,運行時的事件。所以他們是不同的東西。
分部方法被帶到圖片擴展,你有過(框架或自動生成的一部分)沒有控制
希望這有助於
現有類