C# 解析不明确的引用

C# 解析不明确的引用,c#,C#,我正在尝试创建一个用于我的图表工具的管理器类,问题是我使用的工具,对3d和2d图表使用相同的名称,这导致在尝试添加2d库时引用不明确。。有什么好办法解决这个问题吗 比如说, using tool.2dChartLib; using tool.3dChartLib; BorderStyle是这两者的一员 我已经试着在我使用BorderStyle的地方铸造了一些区域。如果我只引用工具,我想它可以工作,但那意味着我将有数百行工具.class行,而不是类使用 您可以使用完整的类型名称,也可以创建别名:

我正在尝试创建一个用于我的图表工具的管理器类,问题是我使用的工具,对3d和2d图表使用相同的名称,这导致在尝试添加2d库时引用不明确。。有什么好办法解决这个问题吗

比如说,

using tool.2dChartLib;
using tool.3dChartLib;
BorderStyle是这两者的一员

我已经试着在我使用BorderStyle的地方铸造了一些区域。如果我只引用
工具
,我想它可以工作,但那意味着我将有数百行
工具.class
行,而不是
使用


您可以使用完整的类型名称,也可以创建别名:

using 2dBorderStyle = tool.2dChartLib.BorderStyle;

如果两个名称空间中都存在同名的类型,则有两个选项:

1) 如果类型数量较少,请为该类型创建别名:

using BorderStyle3d = tool.3dChartLib.BorderStyle;
2) 如果类型的数量很大,则可以为命名空间创建别名:

using t3d = tool.3dChartLib;
然后在你的代码中

t3d.BorderStyle

这似乎比根本不包括它们更冗长(可读性更低)。这是事实。但是别名比名称空间长:)是的。但如果两者都是,那就别无选择required@AdamRobinson:(1)请记住,“长键入”可以由超过字符长度的Intellisense块的数量来定义
A.B.C.D.Foo
ABCDEFG.Foo
更难输入,因为
ABCDEFG
可以一次性自动完成,而
A.B.C.D
则不能(特别是在有许多其他子名称空间的情况下)。(2) OP仍然可以选择更短的别名。这个答案中选择的名称有点长,但重点是展示功能,而不是建议使用确切的名称。我最终使用了选项一。。虽然不理想,但我明白为什么我必须使用它。谢谢如果您只有一些用法,为什么不限定类型?仅供参考,我们不需要重命名原始类名,例如:using Point=System.Drawing.Point;使用尺寸=System.Drawing.Size;使用Rect=System.Windows.Rect;干得好。使用Object=System.Object;为我工作。
t3d.BorderStyle