用Visual C#做DLL文件

用Visual C#生成的DLL文件在程序设计中更多的表现为一种类(Class)或者类库(Class Library)。本文就试着通过一个具体程序的例子,按照下面步骤来具体介绍:

  (1).创建一个DLL源代码。

  (2).编译此DLL源代码,生成DLL文件。

  (3).用此DLL来创建一个简单的客户端程序。

  一. 程序设计开发及运行环境

  (1).微软视窗2000专业版

  (2)..Net FrameWork SDK Beta 2

  二. 创建一个DLL源代码(dll.cs)

  由于用Visual C#创建的DLL,此DLL是不需要执行的界面,所以在DLL文件就没有必要定义Main ( )函数,来作为应用程序执行的入口。Dll.cs的源程序代码如下:

  Dll.cs:

namespace Dll file://定义了名称空间,在调用DLL的时候就要导入此名称空间。
{
 public class Show file://定义了一个类,在程序中就要来继承此类。
 { 
  public string Messages ( )
  file://定义了一个方法,此方法的作用就是返回下面字符串。
  {
   return "欢迎使用Visual C#做的DLL文件!" ;
  }
 }
}


  通过此DLL的源程序可以看出,此DLL表现为一个小型的类库,这是因为在此DLL中封装了名字叫DLL的名称空间,在此名称空间中又定义了一个Show类,在此类中有一个方法就是Messages。虽然定义的内容相对少了些,但却相当完全。
三. 编译此DLL源代码,生成DLL文件

  要把DLL源代码编译成DLL文件,就需要配置好编译器Csc.exe的参数和开关。我们知道编译器Csc.exe可以把源代码编译成四种不同的文件,分别是控制应用程序、代码库、windows应用程序、模块程序。编译命令具体如下:

csc /target:exe myProj.cs // 创建一个myProj.exe控制程序
csc /target:winexe myProject.cs file://创建一个myProj.exe的windows程序
csc /target:library myProject.cs file://创建一个myProj.dll代码库
csc /target:module myProject.cs file://创建一个myProj.dll模块


  对于如何配置编译器Csc.exe的其他参数和开关,可以参考稍前发表的文章《如何用CSC.exe来编译Visual C#的代码文件》,在此篇文章里面有比较详细的介绍。通过以下编译命令可以得到mydll.dll文件:

Csc /r:system.dll /t:library /out:mydll.dll dll.cs


  四.用此DLL来创建一个简单的客户端程序(test.exe)

  通过以上的源程序代码可以看到生成的mydll.dll文件虽然是一个以DLL为扩展名,实际上是一个类库,和我们经常用到的System.dll、System.Windows.Forms.dll等这些文件相似。同样用mydll.dll创建程序也和用以上这些类库创建程序相类似。就是第一步就是导入此名称空间--Dll。然后在去继承里面封装好的类--Show,再调用类中定义好的方法--Messages。下面就是按照以上的步骤,创建的客户端的源程序代码( test.cs ) :

test.cs:
using Dll ; // 导入此名称空间
using System ;

public class GetMessage
{
 public static void Main ( )
 {
  Show hi = new Show ( ) ; // 继承名称空间中定义的Show类
  Console.WriteLine ( hi.Messages ( ) ) ; // 调用此类中的方法
 }
}


  在把test.cs编译成执行程序中,要在编译命令中添加一个引用,就是引用mydll.dll文件。具体的编译命令如下:

csc /r:mydll.dll /r:system.dll test.cs


  编译完成,就会生成test.exe。执行此文件就会得到以下执行界面:

五.总结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值