3 回答

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊
Module
s是C#static
類(lèi)的VB對(duì)應(yīng)物。如果您的類(lèi)僅為輔助函數(shù)和擴(kuò)展方法而設(shè)計(jì),并且您不希望允許繼承和實(shí)例化,則使用a Module
。
順便說(shuō)一句,使用Module
并不是真正主觀的,并沒(méi)有被棄用。事實(shí)上,你必須Module
在適當(dāng)?shù)臅r(shí)候使用。.NET Framework本身可以多次執(zhí)行(System.Linq.Enumerable
例如)。要聲明擴(kuò)展方法,需要使用Module
s。

TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
我認(rèn)為,除非將它們粘貼到單獨(dú)的命名空間中,否則繼續(xù)避免使用模塊是一個(gè)好主意。因?yàn)樵贗ntellisense中,模塊中的方法將從該命名空間中的任何位置可見(jiàn)。
因此,不是ModuleName.MyMethod()
你最終MyMethod()
在任何地方彈出窗口,這種封裝無(wú)效。(至少在編程層面)。
這就是為什么我總是嘗試用共享方法創(chuàng)建Class,看起來(lái)好多了。
- 3 回答
- 0 關(guān)注
- 813 瀏覽
添加回答
舉報(bào)