一. namespace-命名空間
在C#中命名空間有很大的作用,它指明了你所用到的類來自哪個命名空間中,例如Mail類在命名空間using System.Net.Mail和using System.Web.Mail都存在,如果你在程序當中引用了這兩個空間,但是在創建Mail類的對象時候沒有指明使用的是哪個空間中的類那麼就會出現錯誤:
using System.Net.Mail;
using System.Web.Mail;
public partial class Dmanage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
MailMessage mm = new MailMessage();
mm.From = "[email protected]";
}
}
在編譯當前代碼的時候出現下面的錯誤:“MailMessage”是“System.Net.Mail.MailMessage”和“System.Web.Mail.MailMessage”之間的不明確的引用
當然在進行大型項目的開發過程中需要維護開發人員編寫的類庫,引用命名空間可以方便管理大家在命名名字一樣的類的時候可以指明具體是哪個類。下面來看下一個簡單的命名空間
namespace demostrator//命名空間的名字
{
public class Demo //命名空間的類
{
private string name;
public Demo()//構造函數
{
name = "luXiaofeng";
}
public Demo(string name) //構造函數
{
this.name = name;
}
public string getname()
{
return this.name;
}
}
public class Myname //命名空間的類
{
private string name;
public Myname()//構造函數
{
name = "bianceng";
}
public Myname(string name) //構造函數
{
this.name = name;
}
public string getname()
{
return this.name;
}
}
}
由於name是私有的,所以在其他類中初始化本類後如果要獲取name就得使用這個函數public string getname()
下面就在初始化一個對象:
using demostrator;//引用自定義的空間
{
protected void Page_Load(object sender, EventArgs e)
{
demostrator.Demo mydemo = new Demo();//創建對象
demostrator.Myname name = new Myname();//創建對象
Response.Write("in Demo default name is " + mydemo.getname());
Response.Write(" ___________________");
Response.Write("in Myname default name is " + name.getname());
}
}
頁面輸出的結果是:
以上結果是在web頁面中顯示的。