2010-05-21 58 views
8

OK,我可能誤解了,但這裏的東西,據我可以看到... ...你可以做一個擴展方法Static/Shared?

  • 擴展方法必須被包含在一個模塊中,而不是一類
  • 你不能讓模塊中的方法靜態/共享
  • 因此,您不能在沒有實例化的情況下在類上使用擴展方法。

換句話說,你不能對字符串的擴展方法稱爲 「MyExtensionMethod」 及用途:

String.MyExtensionMethod("String") 

但是相反..

Dim test As String 
test.MyExtensionMethod("string") 

這是正確的嗎?或者有沒有辦法讓擴展方法可以作爲靜態方法工作?

回答

9

你是對的。擴展方法只能對類型的實例起作用。

不,不幸的是,沒有狡猾的方式來編寫擴展方法,這些擴展方法本身就是作用於類型的,像靜態方法一樣。

+1

感謝您的回答。看起來像一個令人難以置信的監督雖然,因爲現有的框架對象上的大多數「幫助類型」函數功能爲靜態:( – 2010-05-21 09:12:49

相關問題