簡體   English   中英

命名空間並與其中的“系統”一起使用

[英]Namespace and Using with 'System' in it

我有一個圖書館 - Foo.System.Management

我有一個應用程序 - Foo.New.Application

在此應用程序中, Using System; 被導入,最終發生的是這被解析為Foo.System並導致我的項目拋出錯誤的說法

命名空間Foo.System中不存在類型或命名空間Diagnostics

我的假設是,由於相同的 Base 名稱空間Foo導致了該解決方案。 查看命名空間文檔,我真的找不到對此的明確解釋。

  • 我的Foo.New.Application中有哪些選項?
  • 其中一些Using System; 指令是代碼生成的,所以我無法控制別名。 我應該重命名圖書館嗎?
  • 出於這個原因創建像Foo.System這樣的命名空間是不好的做法嗎?

引用設計指南:

❌ 不要引入通用類型名稱,例如 Element、Node、Log 和 Message。

這樣做很有可能會導致常見場景下的類型名沖突。 您應該限定通用類型名稱(FormElement、XmlNode、EventLog、SoapMessage)。

核心命名空間包括所有系統命名空間,不包括應用程序模型的命名空間和基礎設施命名空間。 核心名稱空間包括System 、System.IO、System.Xml 和 System.Net 等。

❌ 不要給出會與 Core 命名空間中的任何類型沖突的類型名稱。

例如,永遠不要使用 Stream 作為類型名稱。 它會與非常常用的類型System.IO.Stream沖突。

https://learn.microsoft.com/en-us/do.net/standard/design-guidelines/names-of-namespaces

所以,是的,您應該為您的庫找到一個更合適的名稱,它遵循命名空間名稱的設計指南,使用System作為命名空間名稱的一部分確實是不好的做法。

暫無
暫無

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

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