【发布时间】:2012-03-24 04:46:17
【问题描述】:
这可能是一个 C# 菜鸟问题...
假设我有以下 CLI/C++ 标头:
namespace DotNet {
namespace V1 {
namespace X {
public ref class AClass {
public:
AClass() {}
void foo() {}
static void bar() {}
};
}
}
}
然后从 C# 我执行以下操作:
using DotNet;
V1.X.AClass a = new V1.X.AClass();
我明白了:
Program.cs(18,7):错误 CS0246:类型或命名空间名称“V1”可能 找不到(您是否缺少 using 指令或程序集 参考?)
同理:
using DotNet.V1;
X.AClass a = new X.AClass();
Program.cs(18,7):错误 CS0246:类型或命名空间名称“X”可能 找不到(您是否缺少 using 指令或程序集 参考?)
有效的是:
DotNet.V1.X.AClass a = new DotNet.V1.X.AClass();
或者
using DotNet.V1.X;
AClass a = new AClass();
所以要么我必须使用完整的命名空间路径,要么我必须打开所有路径才能访问该类。对此我能做些什么吗? 我希望能够只打开它的一部分。
【问题讨论】: