您如何确保.Net始终从命名空间树的根目录中搜索命名空间?

Dea*_*ane 0 c# namespaces

有没有办法告诉.Net从命名空间树的根目录搜索命名空间?

假设我有两个完全独立的命名空间:

Apple.Orange.Banana
Orange.Grape.Peach
Run Code Online (Sandbox Code Playgroud)

假设他们来自不同的程序员,每个人中的"橙色"完全是巧合.

如果我在"Apple.Orange.Banana"里面,我试图导入(或引用)"Orange.Grape.Peach".Net的东西,我试图从"Apple.Orange.Banana"中的"Orange"搜索".

我怎么说呢,"从根本看,而不是我现在所处的位置." 这会很棒:

~Orange.Grape.Peach
Run Code Online (Sandbox Code Playgroud)

但是,唉,这不存在.

我知道你们中的一些人会说我应该更好地规划命名空间,但是当我使用来自两个地方的代码时会发生什么,这些代码预定义了我无法改变的命名空间,并且它们如上所述那样冲突了?

Sco*_*man 6

您是否尝试过使用global :: resolution范围?例如,如果您有以下内容:

private global::Orange.Grape.Peach.classname x;
Run Code Online (Sandbox Code Playgroud)

此外,您可以获得不同的分辨率,具体取决于命名空间是在名称空间声明之外还是在内部导入,因此

using System.Linq;
namespace MyLinq 
{
   // ...
}
Run Code Online (Sandbox Code Playgroud)

可以提供不同的解决规则:

namespace MyLinq 
{
   using System.Linq;

   // ...
}
Run Code Online (Sandbox Code Playgroud)