所以我在過去的6年中一直在C#編程,現在我用VB.net弄溼了我的腳。Visual Basic模塊v Singleton
我正在使用的代碼庫使用了一些模塊。對我來說模塊看起來很像一個單身人士。只有一個存在;它可以在命名空間內的任何地方調用。
有什麼我在這裏失蹤? VB不支持單例構造的正常方式(私有構造函數/公共實例字段)嗎?
所以我在過去的6年中一直在C#編程,現在我用VB.net弄溼了我的腳。Visual Basic模塊v Singleton
我正在使用的代碼庫使用了一些模塊。對我來說模塊看起來很像一個單身人士。只有一個存在;它可以在命名空間內的任何地方調用。
有什麼我在這裏失蹤? VB不支持單例構造的正常方式(私有構造函數/公共實例字段)嗎?
模塊不是單身人士。它更類似於C#中的靜態類。如果你反編譯代碼,你會看到他們有一個非常相似的結構(模塊有一個額外的屬性)。
一個C#靜態類和VB.Net模塊之間的主要區別...
因此,基本上與模塊一樣,它就像通過並聲明靜態內部(這將在C#中需要)。 然後,它和單例之間的區別在於,單例支持繼承(作爲派生類,或來自接口)和多態,其中模塊就是它的原型。我只是想把它全部整理出來。 – 2009-08-06 22:44:17
@Joel,那種。要記住關於模塊的重要事情是有史以來沒有實例。底下它編譯到一組靜態方法(就像C#靜態類)。最大的區別是,如果包含模塊可用,它們將被添加到全局名稱範圍中。 – JaredPar 2009-08-06 22:45:30