2010-05-20 135 views
3

标题应该说这一切......是否可以引用两个命名空间相同的命名空间?

编辑:显然,标题不说这一切,但乔恩斯基特能搞清楚我的意思呢!

+0

你没见过[这篇文章](http://meta.stackexchange.com/questions/9134/jon-skeet-facts/9135#9135) - 他在你写这个问题之前就知道答案! – slugster 2010-05-20 11:13:31

+0

你的意思是两个完全合格的名称,它们是分开装配的类。我不知道乔恩如何明白你的意思,因为你的问题甚至没有接近表明......但是接下来,乔恩做了很多很棒的事情。 – 2010-05-20 11:14:10

+0

也许他可以从这个事实推论出来,否则就不会有任何问题需要解决?谁知道,他是Jon Skeet,以神秘的方式工作! :-) – 2010-05-20 11:17:06

回答

6

假设你的意思是你想引用由两个不同的程序集提供的相同名称空间(或者甚至是相同的完全限定类型名称)中的类型,可以使用C#2并使用extern aliases来完成。

理想情况下,您应该尽量避免陷入这种情况,但如果您真的需要,您可以做到这一点。

Anson Horton有关于extern别名和从Visual Studio使用它们的blog post

2

嗯,是的,没有....

为了你,他们可能是两个“不同”的命名空间,因为它们是在不同的文件或组件,但对代码它们形成只是一个单一命名空间 - 因此在现实中你只能引用一个名字空间。

1

没错。这是很好的理由,在不同的程序集中有一个命名空间 - 例如,如果某些部分是用c#编写的,有些部分用C++/CLI编写。

你永远不会引用命名空间,对不起。你引用一个程序集。