如何用Visual C#做组件

用 Visual C# 来做组件,其实是一件很容易的事情。至少比用 VISUAL C++ 要容易的多。在本文中,笔者将为您详细介绍如何来做一个组件。我们可以通过二个步骤来完成这个过程: 1. 制作一个组件; 2. 在客户端测试这个组件。

一 . 制作一个组件
1 .首先建立一个新类库工程文件

选择 File->New->Project->Visual C# Projects->Class Library 。填入工程文件名称,并且通过 Browse 按钮选择文件要存放的目录。然后点击 OK 。

2 .工程文件和他所包含的文件

此时的工程文件中的 Solution Explorer 已经加了两个 C# 的类。分别是 AssemblyInfo.cs 和 Class1.cs 我们只要关心的是 Class1.cs 就可以了, AssemblyInfo.cs 可以不管它。

3 . namespace mcMath (名称空间 mcMath )

双击 Class1.cs ,就会看到 namespace mcMath ,我们在客户端调用组件的时候,会涉及到这个 namespace :

public long Add (long val1, long val2)
{

return 0;

}

public bool Extra

{

get

{

return true;

}

set

{

}

}

至此,在确认上面的事情都已经完成后,编译这个工程文件时就可以在 bin/debug 目录里面找到 mcMath.dll ,它就是组件。但此时的组件没有任何功能,下面我们将进一步的完善它。

4 .加入一个方法

从 View menu 中打开 ClassView ,我们看到的 Class1 没有任何方法和属性。现在我们给它加上一个方法和一个属性。

点中 Class1 ,右击,选择 Add->Add Method...

这时会弹出 VISUAL C# 的方法制作向导窗口。你可以在此向导的帮助下,为你的组件加入方法的名称、访问类型、返回值、参数,甚至是注释。用 Add 和 Remove 按钮可以方便的从参数列表中增加或删除参数。我们在此加入一个方法: long Add( long val1 , long val2 ) ,这个方法的功能是把两个数相加,然后返回他们的和。

5 .加入一个属性

重复加入方法的过程,在同样的位置,打开 C# 的属性向导,按照下图为组件加入一个属性。

在上述过程完成以后, Class1 就变成了如下的模样:

再仔细看看 Class1 类,你就会发现向导在我们的组件中加入了两个函数:

public long Add (long val1, long val2)
{

return 0;

}

public bool Extra

{

get

{

return true;

}

set

{

}

}

6. 为 Class 添加代码

按照下面的代码改造 Class ,并且把 Class1 改名为 mcMathComp (这是因为 Class1 是缺省名称,容易造成混乱,在客户端调用组件时候可能会出问题)。

namespace mcMath
{

using System;

public class mcMathComp

{

private bool bTest = false;

public mcMathComp()

{

}

public long Add (long val1, long val2)

{

return val1 + val2;

}

public bool Extra

{

get

{

return bTest;

}

set

{

bTest = Extra ;

}

}

}

}

7 .生成 DLL

编译工程文件生成组件,该组件会在工程文件的 bin\debug 目录里,文件扩展名是 DLL 。

二.测试 DLL
在客户端,用 VISUAL C# 调用刚才我们生成的组件,按照以下几步即可。

1 .新建一个控制应用程序

选择 File->New->Project->Visual C# Projects->Console Application 。我们就通过这个控制应用程序来测试我们的组件。

2 .为 Namespace (名称空间)添加引用

打开 Project->Add reference ,浏览到刚才生成的 DLL ,然后按 OK 。

添加引用向导将会把引用加到当前的工程文件的类里。

3 .调用 mcMath 名称空间,创建 mcMathComp 对象,并且调用它的方法和属性

按照下面的步骤就可以方便的调用方法和属性。

(1) 使用 namespace ,使用 mcMath ;

(2) 创建 mcMathComp 对象;

mcMathComp cls = new mcMathComp();

(3) 调用方法和属性;

mcMathComp cls = new mcMathComp();
long lRes = cls.Add( 23, 40 );
cls.Extra = false;

下面是完整的程序代码:

namespace mcClient

{

using System;

using mcMath;

public class Class1

{

public Class1()

{

}

public static int Main(string[] args)

{

mcMathComp cls = new mcMathComp();

long lRes = cls.Add( 23, 40 );

cls.Extra = false;

return 0;

}

}

}

至此我们就完成了一个组件从制作到测试的全部工作。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus