2009-08-24 130 views
5

我的老師要求我們調查什麼是擴展類,但我似乎無法在MSDN或Google上找到任何東西。任何幫助?什麼是擴展類?

+0

你的意思是擴展方法嗎?除非你引用派生類,否則不要認爲C#中存在擴展類? – James 2009-08-24 14:19:17

+1

你確定它是「擴展類」而不是「擴展方法」嗎? – 2009-08-24 14:19:24

回答

17

在正式的C#術語中沒有「擴展類」這樣的東西。這可能意味着定義了一個類extension methods(這不是特別的,它只是一個簡單的static類。)

+0

我也懷疑過這個問題。好吧,很高興知道。謝謝! :) – 2009-08-24 14:22:50

2

一個具有extension methods的類。

擴展方法使您「添加」 方法,現有的類型,而 創建一個新的派生型, 重新編譯,或者修改 原始類型。擴展方法 是一種特殊的靜態方法, 但它們被調用,就好像它們是 上的擴展類型的實例方法。 對於用C#和 Visual Basic編寫的客戶端代碼,在調用 擴展方法和實際在類型中定義 的方法之間並沒有明顯的差異 。

2

技術上的「擴展類」沒有什麼。在白話中,它可以被某人用來指代設計用於存儲extension methods的類。擴展方法是用來看起來像類的實例方法的方法,但它們是靜態類中真正的靜態方法,用於增強和封裝某些功能。當你試圖擴展某種你不能直接修改和添加方法的類型時,它們特別有用。此外,它們經常與泛型類型(尤其是.net 3.5框架內)一起使用,以使用特定接口提供的方法擴展功能。

0

在C#中的擴展類可以簡單地是一個子類(繼承和增加更多功能的基類型或接口)或靜態類。