使用C#创建一个DLL文件是非常简单的事情。相信我,这比使用VC++要简单的多。我把这个教程分成两部分。(1)建立一个类库;(2)建立客户端程序来检测这个DLL。
第一部分:创建一个类库
1、创建一个空类库项目:
选择“文件”->新建->项目->Visual C#项目->类库(Class Library). 输入项目的名字、使用【浏览】按钮选择合适的路径,单击确定(OK).如图1.
图 1.
2、项目及其文件
项目浏览器中显示本项目添加了两个C#类. 第一个是 AssemblyInfo.cs,第二个是Class1.cs. 我们不必关心AssemblyInfo. 我们只把注意力集中在Class1.cs上.如图2.
图 2.
关于项目中的命名空间
双击Class1.cs文件,你会看到一个mcMath命名空间(namespace)(注意:原文作者使用的项目名称为mcMath,因此自动生成的命名空间名称为mcMath,根据你设置的项目名称不同,这里的命名空间名字不会一样。) 在客户端程序中可以通过引用这个命名空间而使用这里面的类.
using System;
namespace mcMath
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class Class1
{
public Class1()
{
//
// TODO: Add constructor logic here
//
}
}
}
通过生成这个新建立的项目确认没有任何问题. 生成项目后,在你的项目中的“bin/debug “文件夹中,你会看到一个mcMath.dll文件.
3、为类库添加方法
通过视图菜单打开类视图. 你马上会看到类Class1没有任何方法和属性。就让我们为其添加一个方法和属性吧。参加图 3.
图 3.
在类Class1上右击,选择“添加->添加方法... ” 参加图4.
图4.
将会弹出C#方法设计器. 填入方法名称、访问类型、返回值类型、参数名字和注释。使用【添加】或【移除】按钮从参数列表中添加或删除参数。这里添加了一个无参测试方法:mcTestMethod. 参加下图5.
图5.
我准备再添加一个方法: long Add( long val1, long val2 ). 这个方法是通过两个数字然后输出他们的和.完成设置单击“完成”. 参见图6.
图 6.
上面的操作向类中添加两个方法,如下面所示:
4、添加属性
用同样的方法打开C# 属性向导,向类中添加一个属性,参见图7.
图 7.
本操作将打开C#属性向导。在这里,你可以键入你的属性名称、类型和访问类型。同时,你可以设置get访问器、set访问器或同时选择两者。你也可以指定属性是静态的还是虚拟的。本类中添加了一个共有的Extra属性,类型为bool型,并选择get/set.如图8.
图 8.
添加完一个方法和一个属性后,类视图中的样子如图9所示(图中已展开了类节点).
图 9.
如果你仔细地看一下Class1类,向导为我们添加了两个方法.
/// <summary>
/// //This is a test property
/// </summary>
public bool Extra
{
get
{
return true;
}
set
{
}
}
5、为类添加其他代码
现在为方法和属性添加代码。并且我想把Class1更名为mcMathComp,因为 Class1含义不清,当你在客户端应用程序中使用这个类时会产生一些问题。确定你已改变了类的名字及它的结构.
注意:我不准备为mcTestMethod方法添加任何代码,如果你想那可以添加一些。
using System;
namespace mcMath
{
/// <summary>
/// Summary description for Class1.
/// </summary>
public class mcMathComp
{
private bool bTest = false;
public mcMathComp()
{
// TODO: Add constructor logic here
}
/// <summary>
/// //This is a test method
/// </summary>
public void mcTestMethod()
{ }
public long Add(long val1, long val2)
{
return val1 + val2;
}
/// <summary>
/// //This is a test property
/// </summary>
public bool Extra
{
get
{
return bTest;
}
set
{
bTest = Extra ;
}
}
}
}
6、生成 DLL
现在生成DLL,并检查你项目中的 bin/debug 目录. 你会看到生成的DLL文件。是不是非常简单? Huh? :).
第二部分:建立客户端应用程序
在C#中调用一个DLL文件中的方法和属性也是很简单的事情。按照下面的步骤来使用DLL,看看它有多么的简单。
1、创建控制台应用程序
选择 文件->新建->项目->Visual C# 项目->控制台应用程序. 这里将在控制台应用程序中来检测刚才创建的DLL. 参见图10.
图 10.
2、添加命名空间的引用
下一步是向库中添加引用.你可以使用添加引用菜单来添加一个引用。选择 项目->添加引用. 如图11.
图 11.
在这一页中,点击【浏览】按钮来浏览库。参加图 12.
图 12.
找到你刚才创建的DLL,并单击【确定】.如图 13.
图 13.
添加引用向导将把你的库的引用添加到当前项目中来,如图 14.
图 14.
添加完mcMath库的引用后, 你会在解决方案中的树形节点中看到这个引用.如图 15.
图15.
3、调用 mcMath 命名空间, 创建 mcMathComp对象并调用它的方法和属性.
距离你调用自己的方法和属性仅有一步之遥了,请按下面的步骤进行:
(1). 使用命名空间
在项目的开头添加using mcMath代码.
(2).创建 mcMathComp的对象
mcMathComp cls = new mcMathComp();
(3).调用方法和属性
现在你可以调用 mcMathComp 类的方法和属性了。下面使用实例IRes调用方法并返回值,同时在控制台中输出结果。
完整的项目代码列于下边:
现在编译并运行项目,输出结果如图16所示。
图 16.
新闻热点
疑难解答