Introduction
A Dynamic Link library (DLL) is a library that contains functions and codes that can be used by more than one program at a time. Once we have created a DLL file, we can use it in many applications. The only thing we need to do is to add the reference/import the DLL File. Both DLL and .exe files are executable program modules but the difference is that we cannot execute DLL files directly.
Creating DLL File
Step 1. Open Visual Studio then select "File" -> "New" -> "Project..." then select "Visual C#" -> "Class library".
(I give it the name "Calculation".)
Step 2. Change the class name ("class1.cs") to "calculate.cs".
Step 3. In the calculate class, write methods for the addition and subtraction of two integers (for example purposes).
Step 4. Build the solution (F6). If the build is successful then you will see a "calculation.dll" file in the "bin/debug" directory of your project.
We have created our DLL file. Now we will use it in another application.
Using DLL File
Step 1. Open Visual Studio then select "File" -> "New" -> "Project..." then select "Visual C#" -> "Windows Forms application".
Step 2. Design the form as in the following image:
Step 3. Add a reference for the dll file, "calculation.dll", that we created earlier. Right-click on the project and then click on "Add reference".
Step 4. Select the DLL file and add it to the project.
After adding the file, you will see that the calculation namespace has been added (in references) as in the following:
Step 5. Add the namespace ("using calculation;") as in the following:
Step 6
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Calculation;
namespace MiniCalculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
calculate cal = new calculate();
//Addition Button click event
private void button1_Click(object sender, EventArgs e)
{
try
{
//storing the result in int i
int i = cal.Add(int.Parse(txtFirstNo.Text), int.Parse(txtSecNo.Text));
txtResult.Text = i.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
//Subtraction button click event
private void button2_Click(object sender, EventArgs e)
{
Try
{
//storing the result in int i
int i = cal.Sub(int.Parse(txtFirstNo.Text), int.Parse(txtSecNo.Text));
txtResult.Text = i.ToString();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}