首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

生手namespace 不太明白,帮忙解释

2013-01-07 
新手namespace 不太明白,帮忙解释!新手对于 namespace 不太理解,帮忙解释:在同个 solution下的两个namespa

新手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();
        }
    }
}


class1.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace namespace2
{
    class Class1
    {
        public void foo() { Console.WriteLine("namespace2.class1.foo()"); }
    }
}


运行
ConsoleApplication1.class1.foo()
namespace2.class1.foo()
Press any key to continue . . .
[解决办法]
2楼说的对,要先添加引用,然后才能 using

热点排行