namespace College
{
namespace Lib
{
class Book
{
public void Issue()
{
// Implementation code
}
}
class Journal
{
public void Issue()
{
// Implementation code
}
}
}
}
现在,要在不同的命名空间中使用Book Book的Issue()方法,以下两种方法都可以使用。
College.Lib.Book b = new College.Lib.Book(); b.Issue();
using College.Lib; Book b = new Book(); b.Issue();
以下两种方法都不起作用。
我。 using College; Lib.Book b = new Lib.Book(); b.Issue();
II。 using College.Lib.Book; Book b = new Book(); b.Issue();
为什么最后两个代码不起作用?
答案 0 :(得分:1)
在第一种情况下,C#的原始设计者决定using指令应该将命名空间中的类型带入范围,可以这么说,但不要将给定命名空间中的命名空间放入范围。有人认为"使用"意思是"我有一堆我想要使用的类型"而不是"我有一堆我想要使用的子命名空间"。
在第二种情况下:"使用"的功能一个类型被添加到C#6中。它将类型"的静态成员带入范围"。也许您使用的是旧版本的C#?