使用 namespace 关键字包裹你的代码。
namespace HuaShan
{
class LinghuChong
{
public void Drink() { Console.WriteLine("华山令狐冲在喝酒"); }
}
}
namespace HengShan
{
class LinghuChong // 虽然类名一样,但在不同地盘,互不冲突
{
public void Pray() { Console.WriteLine("恒山令狐冲在念经"); }
}
}
如果要用别的门派的类,有两种方法:
HuaShan.LinghuChong (啰嗦但准确)。using HuaShan; (先把地盘引进来,以后直接叫 LinghuChong)。
using HuaShan;
class Program
{
static void Main()
{
LinghuChong lh = new LinghuChong(); // 默认是指 using 进来的那个
lh.Drink();
// 如果要用另一个,必须写全名
HengShan.LinghuChong lh2 = new HengShan.LinghuChong();
lh2.Pray();
}
}
using 关键字还有另一个妙用!
IDisposable 接口的资源(比如文件流),用 using(...) { ... } 包裹起来,用完后会自动释放资源(自动打扫战场),防止资源泄露。
创建两个命名空间 Good 和 Evil。
在两个空间里都定义一个 Boss 类。
在 Main 方法里分别实例化这两个 Boss,并让他们互相打个招呼。
namespace Good { class Boss { public void Say() => Console.WriteLine("我是正派盟主"); } }
namespace Evil { class Boss { public void Say() => Console.WriteLine("我是魔教教主"); } }
// Main:
Good.Boss b1 = new Good.Boss();
Evil.Boss b2 = new Evil.Boss();
b1.Say();
b2.Say();