编译器混淆的命名空间

3
有时会出现两个命名空间部分相同的情况,例如:

Project.Data.Anything.ClassName
Project.Business.Anything.ClassName

在这种情况下,Visual Studio通常会引用另一个命名空间。如果在头文件中使用了“using Project.Data.Anything;”,那么这就有点不符合逻辑了。
也就是说,如果我写下以下代码:
public void ClassName

它链接到商业版本。通常我会忽略它并打印整个命名空间,但在一些项目中(特别是这个项目),阅读起来会很困难而且开销很大。
有任何想法吗,有人可以帮忙吗?

也许也要在解决方案资源管理器中删除您项目的参考项。 - Konrad Morawski
半年前,我几乎不记得问题是什么了 : )。问题是我的前任开发人员使用相同的命名空间路径命名 DAL 和 BL(除了 Data 而不是 Business)。这导致只有当 DAL 及其 BL 在同一类中被引用时才会出现引用问题。下面的答案是最接近的解决方案。或者在每个层中不要重复命名 :)。 - Independent
1个回答

4
你可以定义命名空间。
using Business = Project.Business.Anything.ClassName;

然后使用较短的命名空间

Business.ClassName

谢谢,但我不会点赞那个回答。因为它并没有解决或描述我的实际问题。我不会在每个方法/类中使用命名空间,只有在引用明显的情况下才会使用。(如果我在这方面有错误,我很乐意接受指正)。 - Independent
你能展示一下你的代码片段以及你想要得到什么吗? - Stecya
看到我在问题中的前两行。如果我只写类名ClassName(没有完整的命名空间),编译器仍然会参考Business部分,即使它从using部分中删除了(命名空间当然仍然存在)。那真是神奇..这一定是因为这个项目很久以前就有了(比我之前的开发者)因为有很多地方都用了完整的命名空间。完全没用而且很难读! - Independent

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接