WebElektronika

DLL készítés C# nyelven

person access_time 2014.03.16.
Megismerjük ebben a cikkben a DLL néhány tulajdonságát, és készíteni fogunk egy egyszerű DLL-t is, amelyet azután más projektekben is felhasználhatunk.


A Dynamic Link Library (DLL) egy dinamikusan "csatolt" könyvtár, de talán könnyebb megérteni, ha úgy tekintünk rá, hogy ez tartalmazza a programok számára a különböző eljárásokat, de néha még az ikonokat is.

Több alkalmazás is használhat egy DLL-t, illetve fordítva is igaz, hogy egy alkalmazás is igénybe vehet a működése során több DLL-t, és ezeknek (ennek) a hiánya miatt működésképtelen is lehet a program. Fontosnak tartjuk továbbá megjegyezni azt is, hogy a DLL-ben tárolt metódus csak akkor kerül be a memóriába, ha az adott alkalmazás meghívja.
A DLL-ek segítségével könnyebben tudunk programozni. Gondoljunk például az "itextsharp" DLL-re, amelynek segítségével könnyűvé és kényelmessé válik a különböző pdf file-ok készítése akár Java, akár .NET környezetben. De megemlíthetnénk akár az Ajax Control Toolkit-et is, vagy az SQLite-ot (System.Data.SQLite.dll) is.
 

DLL készítése

Indítsuk el a VS2012-t és válasszuk ki a File/New Project menüpontot. A projektünk neve "webelektronika" (1. ábra).


1. ábra   A projekttípus kiválasztása
 

Ezután adjunk hozzá (Add/New Item/Class) a projektünkhöz egy új osztályt, amelynek a neve : "algebra.cs" (2. ábra).


2. ábra   Az "algebra" osztály hozzáadása a projekthez
 

Hasonló módon adjunk hozzá ehhez a projekthez még egy osztályt (geometria.cs). A projekthez hozzáadott két osztályt mutatja a következő táblázat.
 

algebra osztály geometria osztály

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace webelektronika
{
    public class algebra
    {
        public static int Osszead(int a, int b)
        {
            return a + b;
        }
        public static int Szoroz(int a, int b)
        {
            return a * b;
        }
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace webelektronika
{
    public class geometria
    {
        public static int TeruletNegyzet(int Aoldal)
        {
            return Aoldal * Aoldal;
        }
        public static int KeruletNegyzet(int Aoldal)
        {
            return 4 * Aoldal;
        }
    }
}

Tekintettel arra, hogy a DLL-ünk osztályait nem fogjuk példányosítani, ezért használjuk a "static"-ot. A projekt felépítését mutatja a 3. ábra.


3. ábra   A Solution Explorer ablak
 

Most fordítsuk le a projektünket vagy az F6 billentyű megnyomásával, vagy a Build/Build Solution menüpont kiválasztásával.

A sikeres fordítás után a projektkönyvtárunkban találjuk a webelektronika.dll file-t, amelyet felhasználunk a C# nyelvet bemutató sorozatunk következő részében.

Természetesen más módszerek is vannak a DLL készítésére, használhatjuk a "csc" fordítót is, ha a meglévő projektünket szeretnénk lefordítani DLL-be. Adjuk ki a következő parancsot :

csc /target:library /out:webelektronika.dll webelektronika.cs
 

A "csc" program itt található :

C:\Windows\Microsoft.NET\Framework64\v4.0.30319