Библиотеки классов

Классы могут использоваться во множестве разных программ. Чтобы не усложнять их проекты файлами с исходным кодом, который так же может быть коммерческой тайной, используется механизм динамически подключаемых библиотек - проще говоря переносимые классы выносятся в отдельный файл с расширением.dll (dynamic-link library), который потом подключается к другой программе-проекту. Вынесем наших кошек и людей в отдельную библиотеку классов. Для этого нужно запустить еще одну копию Visual Studio и создать в ней проект с типом библиотека классов/class library. Назовем его TestClassLibrary.

В этом проекте не будет никакого Program.cs, так это просто набор классов для использования в других проектах.

Каждый класс на самом деле должен добавляться отдельным файлом, имя которого совпадает с именем класса. Переименуем Class1, добавим еще классы и скопируем код из предыдущего проекта. Удалим классы из предудщего проекта, так что там останется только класс Program

Построив проект мы получим в его папке /bin/Debug файл TestClassLibrary.dll

Теперь эту библиотеку классов нужно добавить в исходный проект, делается это в пунке References проекта.

И пропишем в самом начале

using TestClassLibrary;

Все, старый код работает точно так же, как если бы эти классы были в нем самом, хотя на самом деле они загружаются из dll библиотеки классов. При копировании exe файла нашей программы в самом просто случае надо копировать вместе с ним и все нестандартные dll.

Как вы могли заметить по разделу References все стандартные классы точно так же подгружаются из dll библиотек - просто библиотеки вроде System.dll идут в комплекте с самим.Net Framework. Ничто не мешает вам скачивать из интернета или покупать чужие библиотеки.

Итоги

На самом деле подавляющее большинство программистов занимается именно тем, что описано в этих трех главах. Использует классы из разных библиотек, пишет свои классы, реализует разные алгоритмы с циклами и ветвлениями внутри функций. Многие скучные программисты из реального мира крайне редко сталкиваются даже с интерфейсами, не говоря уже о более продвинутых методиках, тем более что для их для осмысленного применения нередко требуется либо опыт разработки реальных задач либо руководство опытных товарищей в рамках конкретной задачи. В рамках самоучителя для начинающих дальнейшие главы имеют смысл только в привязке к какой-либо конкретной технологии. В наше время программисты на C# чаще всего:

- пишут настольные приложения на основе Windows Forms, эта морально устаревшая технология до сих пор используется в массе компаний, так как полностью удовлетворяет основным требованиям для специализированных офисных приложений
- настольные приложения с помощью технологии WPF, это более современная технология, позволяющая использовать более продвинутые методики программирования и более красивые интерфейсы с анимацией и прочими красивостями
- сайты/веб приложения с помощью устаревшей, но все еще используемой в деловом секторе технологии WebForms
- сайты с помощью технологии ASP.NET MVC
- служебные части приложений или отдельные библиотеки с помощью технологий вроде WCF
- мобильные приложения по Windows 8/Phone

Вне обширного царства Microsoft

- приложения для Android/iOS/MasOS с помощью Xamarin
- игры с помощью Unity 3D
- приложения для Linux с помощью Mono


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: