新手namespace 不太明白,帮忙解释!
新手对于 namespace 不太理解,帮忙解释:
在同个 solution下的两个namespace A 和 namespace B 中,都有 Persona 类,我想在 namespace A 中使用 namespace B 中的 Person ,请问我 在 namespace A 中 using B;为什么不行哈?
[解决办法]
右击项目名,添加引用,选择“项目”,B对应的项目。
[解决办法]
可以using,但using不能在namespace A{}的大括号中,必须在大括号之外,没有为什么,c#语法如此,
[解决办法]
因为你重名了,C#查找顺序是这样的,如果本命名空间有,就认为是本命名空间的,否则看using的空间,再之后找不到就报错了。
看下面的代码:
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
using namespace2;
class Class1
{
public void foo() { Console.WriteLine("ConsoleApplication1.class1.foo()"); }
}
class Program
{
static void Main(string[] args)
{
Class1 c = new Class1();
c.foo();
namespace2.Class1 c1 = new namespace2.Class1();
c1.foo();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace namespace2
{
class Class1
{
public void foo() { Console.WriteLine("namespace2.class1.foo()"); }
}
}