本文以一个Welcome程序讲解了命名空间的使用方法。文中将“Welcome” 程序分为两部分:库和控制台两部分。库用来提供显示的消息,控制台程序执行显示。
下面是一个库文件,其中包含了一个WelcomeMessage 类。
// 库文件WelcomeLibrary.cs
namespace MyProgram.CSharp.FirstApp
{
public class WelcomeMessage
{
string m_message;
public WelcomeMessage()
{
m_message = “Welcome !”;
}
public string Message {
get {
return m_message;
}
set {
m_message = value;
}
}
}
}
上面的代码展示了在命名空间MyProgram.CSharp.FirstApp 定义的类WelcomeMessage ,类WelcomeMessage 提供了可读的属性Message, 我们看到命名空间可以嵌套。比如声明:
namespace MyProgram.CSharp.FirstApp
{…}
实际上是以下多层命名空间的嵌套
namespace MyProgram
{
namespace CSharp
{
namespace FirstApp
{…}
}
}
Welcome 程序组件化的下一步就是编写客户控制台程序,客户程序将使用库中提供的类WelcomeMessage, 实际上WelcomeMessage 这个类的全名应该是MyProgram.CSharp.FirstApp. WelcomeMessage ,但这种方法使用的书写的名字太长,显得过于笨拙。一个简单的方法是预先导入命名空间,这样就可以不通过全名来使用命名空间的所有类型。
// 客户程序源文件WelcomeApp.cs
using System;
using MyProgram.CSharp.FirstApp;
class WelcomeApp
{
public static void Main() {
WelcomeMessage M = new WelcomeMessage();
System.Console.WriteLine(M.Message);
System.Console.WriteLine(“Please Enter your name:”);
string input = System.Console.ReadLine();
M.Message = “Welcome” + input;
System.Console.WriteLine(M.Message);
}
}
上例中导入了命名空间MyProgram.CSharp.FirstApp 后,每次出现的WelcomeMessage 实际上就是MyProgram.CSharp.FirstApp. WelcomeMessage 的简写。我们写的代码可以编译后产生一个包含类WelcomeMessage 的库,以及一个包含类WelcomeApp 的应用程序。
新闻热点
疑难解答