0
消歧的命名空间我有一个Page
是进口管制从图书馆这样的:中产生的XAML代码
<Page
x:Class="Foo.Bar.SomePage"
xmlns:myNamespace="using:Bar.Controls">
<myNamespace:SomeControl x:Name="someControl">
<!-- snip -->
</myNamespace:SomeControl>
</Page>
正如你可以在这里看到,该页面在::Foo::Bar
命名空间中声明,而SomeControl
声明在::Bar
命名空间中。我面临的问题是Visual Studio生成验证码:
namespace Bar {
namespace Controls {
ref class SomeControl;
}
}
namespace Foo
{
namespace Bar
{
partial ref class SomePage : /* ... */
{
/* ... */
private: Bar::SomeControl^ someControl;
};
}
}
字段定义Bar::SomeControl^ someControl
尝试选择::Foo::Bar::SomeControl
而不是::Bar::SomeControl
因为Visual Studio不完全限定它。
这是否是有意设计的(是否有一种方法可以将using:
URI短语以使其完全限定名称),还是这是一个错误?我该如何解决这个问题?
我认为我可以说服人们对这个特定类的命名空间结构作出例外,但是如果存在针对此类的代码内解决方案会更简单。