簡體   English   中英

命名空間和子命名空間以及它們在C#中引用的庫

[英]Namespaces and Sub-Namespaces and the libraries they reference in C#

我能有......嗎

namespace somenamespace
{
//references functionality in DLL_1
      namespace somesubnamespace
      {
       //references functionality in DLL_2
      }
}

如果我這樣做,當我僅使用somenamespace時,解決方案中是否僅包含DLL_1;如果我使用somenamespace.somesubnamespace,則解決方案中是否包含DLL_1和DLL_2?

還是在包含名稱空間的項目中設置了DLL_1和DLL_2,無論我使用哪個名稱,兩個DLL都會被復制?

您只需要添加對代碼實際使用的DLL的引用(直接或間接)。

因此,如果庫X有兩個分別引用庫A和B的類,而您僅使用了引用庫A的類,則根本不需要庫B。

命名空間是組織概念,與命名空間無關。

如果您添加對DLL的引用,它們將被復制。 由於必須添加引用才能使用它們,因此兩者都將始終被復制。

您上面的代碼完全等同於:

namespace.somesubnamespace
{

}

如果您以自己的方式編寫代碼,或者以這種方式編寫代碼,則訪問somesubnamespace空間的方式與您的代碼完全相同。

命名空間實質上只是用於組織代碼的標簽。 取決於您的代碼訪問的內容將決定您需要哪些引用-但是對您的問題的回答是“否”,則不一定需要namespace的引用。 就此而言, namespace.somesubnamespace是一個獨立的命名空間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM