簡體   English   中英

為什么不能使用部分根名稱空間?

[英]Why can't I use partial root namespace?

我有一個帶有根名稱空間Protege.MyLibrary已編譯類庫。

它具有一些根類型,例如CommonlyNamedType

當我將庫添加到使用的應用程序中時,為了某些情況的清晰起見,我希望能夠將變量指定為:

using Protege;
...
MyLibrary.CommonlyNamedType oMyType = new MyLibrary.CommonlyNamedType;

而不是

using Protege.MyLibrary;
...
CommonlyNamedType oMyType = new CommonlyNamedType;

前者不編譯,表示名稱空間為Protege “不需要使用指令”,可以將其刪除。

這似乎很奇怪,因為我可以采用其他方法並添加其他名稱空間,例如Protege.MyLibrary.AnotherNamespace

我似乎能夠在VB.NET中100%做到這一點-使用Imports Protege和/或Protege.MyLibraryProtege.MyLibrary ,甚至可選地使用冗余限定類型。 但不是在C#.NET中。

我對SO和其他地方的環境很好,並且沒有看到有關此行為的解釋。 有任何想法嗎?

您可以靜態導入類似的類

using static System.IO.File;

它不支持類,您需要使用常規using來導入名稱空間。

暫無
暫無

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

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