使用VS.Net 做.Net组件

http://www.pconline.com.cn/pcedu/empolder/gj/vc/10203/43429.html
出处:PConline
责任编辑:zwg

[02-3-29 9:23]  作者:www.dlking.com  

使用VS.Net 做.Net组件

转载自: http://www.dlking.com 作者不详

  用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;
}
}
}

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

时间: 2024-11-09 23:57:54

使用VS.Net 做.Net组件的相关文章

用Visual C#做WinForm组件

我们知道.NET的开发平台提了一个名称空间System.Windows.Forms,在此名称空间中提供了许多开发Windows Form的类和对象,这些类和对象不仅内容十分丰富,而且还具有十分强大的拓展性,可以利用这些类和对象,简单而迅速的开发出自己需要的组件来.本文就将介绍如何利用.Net 开发平台原有的类和对象写一个自己的WinForm组件,如何编译自己的组件,且如何在一个客户程序中使用它. 一. 程序设计和运行的基本环境: (1).视窗2000服务器版 (2)..Net FrameWork

转:如何用Visual C#做组件

如何用Visual C#做组件 用Visual C#来做组件,其实是一件很容易的事情.至少比用VISUAL C++要容易的多.在本文中,笔者将为您详细介绍如何来做一个组件.我们可以通过二个步骤来完成这个过程:1.制作一个组件:2.在客户端测试这个组件. 一.制作一个组件 1.首先建立一个新类库工程文件 选择File->New->Project->Visual C# Projects->Class Library.填入工程文件名称,并且通过Browse按钮选择文件要存放的目录.然后点

如何用Visual C#做组件

visual   如何用Visual C#做组件 用Visual C#来做组件,其实是一件很容易的事情.至少比用VISUAL C++要容易的多.在本文中,笔者将为您详细介绍如何来做一个组件.我们可以通过二个步骤来完成这个过程:1.制作一个组件:2.在客户端测试这个组件. 一.制作一个组件 1.首先建立一个新类库工程文件 选择File->New->Project->Visual C# Projects->Class Library.填入工程文件名称,并且通过Browse按钮选择文件要

Flash CS3 组件开发教程

教程|组件开发 [教程说明]:应云开等朋友的要求,我今天把组件开发过程整理一下,写成这篇教程.通过此篇教程你可以大致了解Flash 组件开发整个过程,希望对那些想自己开发Flash 组件的朋友有所帮助.我这次主要开发Flash 代码组件,甚至其他Flash 组件,你可以自行研究或和我一起讨论. [前提条件]:1.安装了Flash CS3软件:2.安装了Adobe Extension Manager 1.8 扩展管理器,如果没有请先到这里下载: [开发教程]:1.首先准备一个18x18的png 图

第一个ASP组件:设置服务器日期时间组件

服务器 网络之门 在进入我们需习的第一个组件之前,小虎首先得说明一下,由于小虎的水平有限,可能在下面的这些说明过程中存在不少错误,希望大家提出指证,在这里我希望能与大家分享一下ASP的学习经验,小虎的这个网站推耸的是原创精神,很多东西都是DIY,因此程序编写过程中也会染上小虎本身不良的编程习惯.而且整个教学网站也只有小虎一个维护,因此技术上肯定存在不少问题,望大家谅解. ASP组件为我们的ASP编程提供了强大的扩展功能,比如我们需要在服务器中启动一个应用程序,设置服务器的时间,访问操作系统内部信

基于Delphi的组件设计之简单实例

接下来要动手来做一个组件了,我想了一个计数器组件,功能方面是比较简单的,但这不是本章的重点,这一章的重点是说明一个组件的制作全过程.在其中可以学到很多组件制作的技巧,当然这些也是我从书上学得的. 这是一个可以计数的组件,为了简单,我以秒为单位,当开始时,他就从0开始增加,并显示出来,到3600时,它又回到0,如此循环.当然它也可以停止,暂停,继续.另外,他还有一个时间事件,即可以设定每隔多少时间来触发这个事件,这倒是一个好的功能,我们可以设半个小时触发事件,在事件处理函数中来一个声音,然后睡个觉

实现应用程序中的并行组件共享(二)

当将现有组件修改为并行时,正是将它的激活方式改为使用相对路径和隔离全局状态.重要的是给它一个新的 CLSID.ProgId,并且重命名该文件,然后将这个 CLSID.ProgId 以及新文件名用于后来的并行组件.这样做可以避免在并行版本上再注册该组件的非并行版本而引起的冲突.并行组件和他们以前的非并行版本不向后兼容. 状态存储 对于注册表中存储的状态(设置),需要将状态私有化为该应用程序运行的上下文.可以使用 GetModuleFileName() 函数设置一个虚拟根.应对 HKLM 和 HKC

怎样在不使用框架的基础上开发一个 Javascript 组件

本文讲的是怎样在不使用框架的基础上开发一个 Javascript 组件, 许多开发者(包括我)犯的一个错误是当遇到问题时他们总是自上而下地考虑问题.他们想问题的时候,总是从考虑框架(Framework),插件(Plugin),预处理器(Pre-processors),后处理器(Post-processors),面向对象模式(objected-oriented patterns)等等这些方面出发,他们也可能会从他们以前看过的一篇文章来考虑.而这时如果有一个生成器(Generator)的话,他们当然

用ejb把各个业务功能做成组件

问题描述 现在有很多的业务主题要做成功组件比如一个反映人口流动情况的图表或者其他的什么业务上级说要用ejb,可是要怎么做,我觉得ejb只是说把类放到另外一台机器上让你本地调用远程的方法那就是说所有的web页面靠前端的逻辑都放在本地的tomcat上,只是每个功能模块在servlet或action调用时,业务逻辑放到远程的类里面去?这样就叫做成一个个组件了?感觉没什么意义啊?也不知道上级是要提高效率还是干嘛,只说了一句有的主题(功能)要及时的响应给客户,有的主题不需要那么及时或实时.如果不用orm的