Бібліотеки класів - студопедія

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

Бібліотеки класів - студопедія

У цьому проекті не буде ніякого Program.cs, так це просто набір класів для використання в інших проектах.

Бібліотеки класів - студопедія

Кожен клас насправді повинен додаватися окремим файлом, ім'я якого збігається з ім'ям класу. Перейменуємо Class1, додамо ще класи і скопіюємо код з попереднього проекту. Видалимо класи з предудщего проекту, так що там залишиться тільки клас Program

Бібліотеки класів - студопедія

Бібліотеки класів - студопедія

Побудувавши проект ми отримаємо в його папці / bin / Debug файл TestClassLibrary.dll

Тепер цю бібліотеку класів потрібно додати в вихідний проект, робиться це в пунктах пропуску через References проекту.

Бібліотеки класів - студопедія

Бібліотеки класів - студопедія

І пропишемо в самому початку

Все, старий код працює точно так само, як якщо б ці класи були в ньому самому, хоча насправді вони завантажуються з 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