C#里边的动态链接库相类似java的jar包,可以相当于一个封装好的工具类,一次编写好后后续使用无需再编写类似的代码,只需要引用到项目中即可调用,大大的节省项目的开发时间以及解决代码的冗余让代码简洁明了。
创建Dll步骤1:使用VS编译工具选择合适的类库通用范围(这里因为是winform开发所以选择如下)
创建Dll步骤2:编写类库代码(以下可参照)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestMyDll
{
public class Class1
{
/// <summary>
/// 加法
/// </summary>
/// <param name="value1"></param>
/// <param name="value2"></param>
/// <returns></returns>
public static double Plus(double value1 , double value2){
return value1 + value2;
}
/// <summary>
/// 减法
/// </summary>
/// <param name="value1"></param>
/// <param name="value2"></param>
/// <returns></returns>
public static double Minus(double value1, double value2) {
return value1 - value2;
}
/// <summary>
/// 乘法
/// </summary>
/// <param name="value1"></param>
/// <param name="value2"></param>
/// <returns></returns>
public static double Multiply(double value1, double value2) {
return value1 * value2;
}
/// <summary>
/// 除法
/// </summary>
/// <param name="value1"></param>
/// <param name="value2"></param>
/// <returns></returns>
public static double Divide(double value1, double value2) {
return value1 / value2;
}
}
}
步骤3:生成解决方案
于是我们创建的Dll文件可在此项目的Debug目录下找到
使用Dll步骤1:新建项目后,导入要使用的Dll文件
使用Dll步骤2:编写项目代码(以下可参考)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Test_MyDll
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void textBox3_TextChanged(object sender, EventArgs e)
{
}
//加法
private void button1_Click(object sender, EventArgs e)
{
//获取前台数据
double value1 = double.Parse(textBox1.Text);
double value2 = double.Parse(textBox2.Text);
//调用自己封装的Dll
double value = TestMyDll.Class1.Plus(value1,value2);
label6.Text = value.ToString();
}
//减法
private void button2_Click(object sender, EventArgs e)
{
//获取前台数据
double value1 = double.Parse(textBox3.Text);
double value2 = double.Parse(textBox4.Text);
//调用自己封装的Dll
double value = TestMyDll.Class1.Minus(value1, value2);
label7.Text = value.ToString();
}
//乘法
private void button3_Click(object sender, EventArgs e)
{
//获取前台数据
double value1 = double.Parse(textBox5.Text);
double value2 = double.Parse(textBox6.Text);
//调用自己封装的Dll
double value = TestMyDll.Class1.Multiply(value1, value2);
label8.Text = value.ToString();
}
//除法
private void button4_Click(object sender, EventArgs e)
{
//获取前台数据
double value1 = double.Parse(textBox7.Text);
double value2 = double.Parse(textBox8.Text);
//调用自己封装的Dll
double value = TestMyDll.Class1.Divide(value1, value2);
label9.Text = value.ToString();
}
}
}
测试结果: