一. 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 = "liufch@163.com";
}
}
在編譯當前代碼的時候出現下面的錯誤:“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頁面中顯示的。