我感觉这里缺少明显的东西,但是这个问题困扰了我一段时间。
我在几个不同的嵌套名称空间中定义了一些类:
namespace Awesome.Example {
namespace V1 {
public class PopTart {
public bool PoppinUp {get; set;}
public bool Hot {get; set;}
}
}
namespace V2 {
public class PopTart {
public bool PoppinUp {get; set;}
public bool SoCool {get; set;}
public bool AreHot {get; set;}
}
}
}
但是,如果我尝试使用include简化声明,则IDE(VS)会抱怨我需要完全限定类。
例如:
using Awesome.Example;
public class Main {
public V1.PopTart {get; set;}
public V2.PopTart {get; set;}
}
这会产生两个错误:
The type or namespace name 'V1' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'V2' could not be found (are you missing a using directive or an assembly reference?)
我不明白为什么会这样。谁能解释如何实现我的追求?
答案 0 :(得分:3)
尝试像这样使用名称空间别名:
using V1 = Awesome.Example.V1;
using V2 = Awesome.Example.V2;
public class Main
{
public V1.PopTart p1 { get; set; }
public V2.PopTart p2 { get; set; }
}
或者像这样完全限定您的名称空间:
public class Main
{
public Awesome.Example.V1.PopTart p1 { get; set; }
public Awesome.Example.V2.PopTart p2 { get; set; }
}
有关更多说明和示例,请参考以下问题:Nested namespaces
答案 1 :(得分:0)
尝试将完整的名称空间与嵌套名称空间一起使用
public class Main
{
public Awesome.Example.V1.PopTart var1{get; set;}
public Awesome.Example.V2.PopTart var2{get; set;}
}