2011-08-10 31 views
0

如何在.NET中創建具有子組件的dll?使用子組件創建.Net庫

舉例來說,如果我有一個項目「MyUtilities」,我想創建特定的電子郵件的子組件「MyUtilities.EmailUtilities」帶班。然後,在一個新的項目,當我添加引用MyUtilities的編譯的.dll文件,我可以訪問使用類似的代碼EmailUtilities類:

MyUtilities.EmailUtilities.EmailBlaster eBlaster = new MyUtilities.EmailUtilities.EmailBlaster 
+0

只需相應項目命名爲... –

+0

@Daniel Hilgarth我想有一個項目,一個DLL引用。我的項目被命名爲「MyUtilities」,但我希望將不同的類分組到子命名空間中,如下面的一些建議。 –

回答

4

你想要的是一個namespace

+0

正是我在找的東西。謝謝! –

1

你應該有一個名爲EmailUtilities子文件夾一個普通的項目。
這將創建一個單獨的名稱空間含有這些類。

+0

我試過了,但EmailBlaster類可以使用MyUtilities.EmailBlaster訪問,而不是MyUtilities.EmailUtilities.EmailBlaster。在EmailBlaster類的代碼中添加「Namespace EmailUtilities」作爲coup和Joe建議的工作。通過命名空間將我的類分離成文件夾確實很有意義,謝謝! –

+0

然後你需要更新'namespace'行。它只在您首次添加文件時被默認設置。 – SLaks

+0

啊我明白了。謝謝! –

1

你混淆了命名空間和組件。他們沒有任何關係。命名空間可以跨越多個程序集,程序集可以有多個命名空間。

你描述什麼是剛子的命名空間,這是可以做到的所有代碼。

或者:

namespace MyUtilities 
{ 
    namespace EmailUtilities 
    { 
     // Your code here 
    } 
} 

,或者更常見:

namespace MyUtilities.EmailUtilities 
{ 
    // Your code here 
} 
0

不能在.NET中創建子組件,至少不是你思考的方式。他們只是遠程關閉的東西是satellite assemblies,但那不是你想要的。你應該做的是將你的類組織成單獨的命名空間。請注意,名稱空間可以嵌套。