C#自定义命名空间与使用自定义的命名空间方法
今天看书看到 C#编程 段,突然有个 要自己建立一个自己的命名空间的想法,于是到网上找资料自己测试,找了好多,也查了MSDN,都没有满意的答案,最后还是自己慢慢测试。历时近1小时,终于成功,于是欣喜若狂。得到以下方法,可能只适合新手使用。
第一步 声明一个命名空间,书写自己的代码
随便建立一个C#库类(CS文件),写入代码:(内容中sleep类仿照JAVA中的sleep功能)
using System;
using System.Collections.Generic;
using System.Text;
namespace steven //我自定义的命名空间名字,只包括一个简单的类,以后还可以扩展其中的内容
{
public class sleep
{
public void NowSleep()
{
DateTime time = DateTime.Now.AddSeconds(5);
while (true)
{
if (time == DateTime.Now)
break;
}
}
public void NowSleep(long SecondTime)
{
DateTime time = DateTime.Now.AddSeconds(SecondTime);
while (true)
{
if (time == DateTime.Now)
break;
}
}
static void Main(string[] args)
{
}
}
}
保存,名字steven.cs。(C盘)
第二步 编辑命名空间的代码
打开SDK(Microsoft .NET Framework SDK v2.0),输入C: Enter, 输入CSC 文件名 Enter(Enter即回车键) 。如果编译成功,出现版权信息等内容并在当前路径生成steven.exe。不成功则提示错误信息。
图:编译成功的提示信息
图:编译后在相同路径下得到一个steven.exe
如果你不喜欢exe文件的话,你也可以把他编辑成一个dll文件,命令相对复杂一点,如下图,编译之后会得到一个dll文件。
图:将steven.cs编译成steven.dll
其中,/t标记指定将C# class类编译为一个DLL(默认为exe可执行文件,可查看编译器csc.exe的相关帮助信息)。而 /out标记指定了编译后文件的名称。
第三步 让自定义的命名空间代码为我所用
新建一个控制台程序,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using steven; //使用自定义的命名空间
namespace test
{
class Program
{
static void Main(string[] args)
{
sleep wait5sec=new sleep(); //自定义命名空间中一个类的实例
wait5sec.NowSleep(5); //成员方法
Console.WriteLine("OK");
}
}
}
现在运行还不能成功,因为系统还找不到steven这个命名空间。在运行之前,在"解决方案"窗口中有个"引用",右键点击"添加引用",选择已经编译好的了steven.exe文件。
第四步 测试运行
现在来运行一下看,运行,等待5秒,出现 "OK", 成功!!!