Welcome

首页 / 软件开发 / C# / C#命名空间专题(一)

C#命名空间专题(一)2009-07-20 本站 L小风一. 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页面中显示的。