logo
Лекции по ая

Разработка библиотек dll

DLL — динамически подключаемая библиотека, динамическая библиотека, позволяющая многократное использование различными программными приложениями. Разработав набор классов или методов, программист может поместить их в DLL библиотеку. В дальнейшем в случае необходимости он может обратиться к данной библиотеке и использовать в различных приложениях.

Библиотеки DLL часто упрощают процесс общего доступа к данным и источникам. Многочисленные приложения могут иметь одновременный доступ к нескольким содержаниям одной копии DLL в памяти.

При помощи Visual C# можно создавать библиотеки DLL, которые могут быть вызваны другими приложениями.

Динамически компонуемые библиотеки представляют собой набор скомпилированных подпрограмм. Если какие-то две или более программы для Windows одновременно исполняются и используют подпрограммы, находящиеся в одной DLL, то в памяти будет постоянно находится только одна библиотека, обеспечивая тем самым экономное расходование памяти. Загрузка библиотеки в память может быть статической и динамической.

При статической загрузке DLL автоматически загружается при запуске использующего ее приложения. Для использования статической загрузки вы должны на этапе компоновки к программе подключить DLL.

При динамической загрузке вы можете загружать DLL при необходимости, выгрузить ее когда она не нужна. Однако работать с такими библиотеками сложнее чем со статическими.

Для создания библиотеки классов необходимо создать новый проект советующего типа.

Создадим библиотеку содержащую один метод, возвращающий случайное число. И откомпилируем библиотеку ctrl + shift + B.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ClassLibrary1

{

public class Class1

{

public int Rand()

{

Random r = new Random();

return r.Next();

}

}

}

Следующий шаг - это подключение к пространству имён нашей DLL. Для этого создаем новое консольное приложение. Открываем закладку Проект -> Добавить ссылку. Щёлкаем правой клавишей по references и в окне добавления ссылки проходим путь к ранее созданной библиотеке. Выбираем библиотеку и добавляем к проэкту. Подключаем пространство имен из библиотеке и можем пользоваться разработанными методами.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using ClassLibrary1;

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

Class1 cl1 = new Class1();

Console.WriteLine(cl1.Rand());

Console.ReadLine();

}

}

}

37