[英]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.