c#

时间:2016-02-27 06:04:27

标签: c# namespaces

namespace College
{
    namespace Lib
        {
            class Book
        {
            public void Issue()
            {
                // Implementation code
            }
        }
            class Journal
        {
            public void Issue()
            {
                // Implementation code
            }
        }
    }
}

现在,要在不同的命名空间中使用Book Book的Issue()方法,以下两种方法都可以使用。

  1. College.Lib.Book b = new College.Lib.Book(); b.Issue();

  2. using College.Lib; Book b = new Book(); b.Issue();

  3. 以下两种方法都不起作用。

    我。 using College; Lib.Book b = new Lib.Book(); b.Issue();

    II。 using College.Lib.Book; Book b = new Book(); b.Issue();

    为什么最后两个代码不起作用?

1 个答案:

答案 0 :(得分:1)

在第一种情况下,C#的原始设计者决定using指令应该将命名空间中的类型带入范围,可以这么说,但不要将给定命名空间中的命名空间放入范围。有人认为"使用"意思是"我有一堆我想要使用的类型"而不是"我有一堆我想要使用的子命名空间"。

在第二种情况下:"使用"的功能一个类型被添加到C#6中。它将类型"的静态成员带入范围"。也许您使用的是旧版本的C#?