我的解决方案是名为共享的项目和另一个名为 Foo1的项目。
在 Foo1 中,我创建了一个名为共享的文件夹,因此我在解决方案中找到了两个名为“共享”的命名空间。
我在项目 Foo1
中添加了项目共享的引用但现在,当我在 Foo1 中的文件中输入 时,IntelliSense不会显示共享命名空间。
如何在文件中指定我要使用 Foo1 中共享项目的共享命名空间?
注意:我想要使用 Share 命名空间的文件位于项目的根目录中(我的意思是在共享文件夹之外)
答案 0 :(得分:2)
给出以下解决方案结构:
解决方法1
---共享(项目)
--- Foo1(项目
--- ===共享(命名空间/目录)
我的理解是你要在Foo1根目录中的文件中引用Foo1.Shared命名空间中的某些内容,可能是在Foo1名称空间中。
如果这一切都正确,您可以使用别名显式引用两个Shared命名空间中的每一个,如下所示:
using SolutionWideShared = Shared;
using Foo1Shared = Foo1.Shared;
现在可以使用别名引用任一名称空间中的任何类,如下所示:
var blah = new SolutionWideShared.SomeClassInTheSharedProject();
或
var bling = new Foo1Shared.SomeClassInFoo1ProjectInSharedNamespace();
这只是一个解决方案,但我是明确代码的粉丝,这将产生一些非常易读,非混乱的代码。
答案 1 :(得分:0)
理想情况下,您应该重新考虑您的命名,并尝试更具描述性。什么是“共享”?它和Foo.Shared有什么不同?在生产质量代码中,这将要求重构和重命名,IMO。如果这只是一个虚拟游戏项目,您正在使用它来证明某些点或使用某些代码 - 然后使用别名。
using FooShared = Foo.Shared;
因此,您将拥有Shared
,这是您的初始共享项目,FooShared
。