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短語以使其完全限定名稱),還是這是一個錯誤?我該如何解決這個問題?
我認爲我可以說服人們對這個特定類的命名空間結構作出例外,但是如果存在針對此類的代碼內解決方案會更簡單。