请教:如何将写好的类封装成dll文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教:如何将写好的类封装成dll文件相关的知识,希望对你有一定的参考价值。

使用C#生成dll文件并调用
一、创建dll文件:

例如生成一个md5编码判断状态的文件,即,输入一个字符串(string A)和一个32位md5编码(string B),判断此字符串A对应的32位md5编码是否与B相等,如果相等返回true,否则返回false。

打开VS 2005,“文件”--》“新建”--“项目”,选择“Windows 控件库”,命名后点击“确定”,在“UserControl1.cs”中输入以下代码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

using System.Text;
using System.Security.Cryptography;

namespace md5

public partial class Program : UserControl

#region MD5 32位加密:GetMd5Str32
/// <summary>
/// 32位MD5加密
/// </summary>
/// <param name="strSource">待加密字串</param>
/// <returns>加密后的字串</returns>
public static string GetMd5Str32(string strSource)

byte[] bytes = Encoding.ASCII.GetBytes(strSource);
byte[] hashValue = ((System.Security.Cryptography.HashAlgorithm)System.Security.Cryptography.CryptoConfig.CreateFromName("MD5")).ComputeHash(bytes);
StringBuilder sb = new StringBuilder();

for (int i = 0; i < 16; i++)

sb.Append(hashValue[i].ToString("x2"));


return sb.ToString().ToUpper();

#endregion

#region 核对md5编码是否一致:CheckMd5String()

/// <summary>
/// 核对md5编码是否一致
/// </summary>
/// <param name="ConvertString"></param>
/// <returns>如果一致返回true,否则返回false</returns>
///
public static bool CheckMd5String(string str1, string str2)

string md5String = str1; //需要验证的字符串
string md5DbString = str2; //需要核对的32位md5编码

int result = string.Compare(md5.Program.GetMd5Str32(str1), md5DbString, true);
if (result == 0)

return true;

else

return false;


#endregion



修改“UserControl1.Designer.cs”中的命名空间为“md5”,方法为“Program”,即可生成dll文件。

在...\\bin\\Debug文件假下,可以找到相应的dll文件。

二、部署dll流程:

首先把dll文件放到应用程序...\\bin\\Debug\\下;
然后在解决方案中添加引用:右键鼠标-->添加引用-->浏览-->选择dll放置路径后点击“确定”。
注意:要在应用文件头处使用using md5;命令。

测试应用程序代码,如下:Form1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using md5;
namespace WindowsApplication1

public partial class Form1 : Form

public Form1()

InitializeComponent();


private void button1_Click(object sender, EventArgs e)

string str1 = textBox1.Text.ToString();
string md5String = textBox2.Text.ToString();

textBox3.Text = md5.Program.GetMd5Str32(str1);
textBox4.Text = md5.Program.CheckMd5String(str1, md5String).ToString();



private void button2_Click(object sender, EventArgs e)

this.Close();


参考技术A 新建类库项目,建立自己的类XXX.cs 在开始菜单找到 Visual Studio 2005---->Visual Studio Tools------> Visual Studio 2005命令提示 输入以下命令:csc /t:library /out:c:\XXX.dll c:\XXX.cs 其中c:\XXX.cs 为要生成的cs文件;c:\XXX.dll为生成的dll文件

java如何把一个已经实现某些具体功能的类封装成一个接口供其他的程序进行使用

第一:具体的功能方法如果是public直接就可以用import引入该类然后调用
第二:如果这功能是类似于.exe可执行文件或者打包成了.jar的可执行文件,那么Java中有固定的代码可以内嵌运行已经实现功能的程序
第三:如果你说的其他程序,是指用别的语言写的,那么可以用相关工具将该Java程序打包成.jar,然后安装了Java运行环境后就可以当成.exe文件运用。
第四:如果仅仅只是想把已经写好的Java程序,该程序已经实现了具体功能,然后你想用其他语言来调用该功能,这就需要网上再找下有这种工具没了?Java中的JNI和JNA相关技术可以研究下,我只知道人工编写新代码。追问

那能具体说一下怎样打包成 .jar文件吗
那有哪几种几种接口啊

追答

.jar包用eclipse的export...就可以,还有一些其他的集成开发环境都支持打.jar包的。

至于你说的几种接口,我只知道Java语言中可以通过JNI来链接C和C++语言的.DLL动态库,从而实现一些C和C++已有的方法在Java中的运用。至于如果反过来,用其他语言来调用Java中具体的方法,这个没有研究过。

我之前为了投机取巧,在不同语言的程序之间进行功能的共享,是通过一个文本文件作为数据的缓冲区来实现的。比如Java已经实现的功能,执行后结果写入文本文件中,再通过其他语言的程序从这个文件中读取出结果,这样就间接的用到了已经实现好的方法功能,这是一种投机取巧的方法。

参考技术A 不太懂你的意思。但是如果只是要个接口,在写一个interface就是了,把那个写好的类加一个implements就行了。

以上是关于请教:如何将写好的类封装成dll文件的主要内容,如果未能解决你的问题,请参考以下文章

用QT写好的程式,如何使用在其他未装QT的PC上?换句话说,如何封装后转移到其他电脑?请帮忙说明详细步骤!

怎么将qt的开源库封装成dll

请教 如何用DELPHI生成DLL 封装数据库连接

如何使用.NET Reflector修改已封装好的.dll文件

将写好的python软件打包成程序

如何通过Git将写好的项目发布到github上