這樣全階層寫很累耶!!所以可以使用using的方式在檔頭載入,如下
using System;
using MyOwnNameSpace.AppOneFunction;
using MyOwnNameSpace.AppTwoFunction;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
PrintScreen.Print();
PrintScreen.Print();
}
}
}
但上例是無法使用的,因為我們有說到命名空間可以避免名稱衝突,所以在全部階層都寫的情形下,它允許不同的命名空間可以有相同的成員名稱.
但因為我們使用了using後,把前面的階層拿掉了,你會發現上例的PrintScree.Print()無法明確的判斷到底是那個namespace下的.
解決方法就是使用命名空間的別名,例子如下
using System;
using AppOne = MyOwnNameSpace.AppOneFunction;
using AppTwo = MyOwnNameSpace.AppTwoFunction;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
AppOne.PrintScreen.Print();
AppTwo.PrintScreen.Print();
}
}
}
這樣程式就能明白你指的是那個PrintScreen.Print()了.
那如果自定義的命名空間不是和你的Main()放在一起的呢??
那你在做自定的命名空間時就要選類別庫的選項來開發,編譯後你會發現在你的專案目錄中有一個相同名稱的DLL檔
你要在你的Main()的專案中,使用加入參考的專案方式,使用檔案瀏覽找到要加入的DLL檔,之後就可以用using的方式加入了.
沒有留言:
張貼留言