Запустимо Visual Studio 2008, із стартової сторінки перейдемо до створення проекту, виберемо тип проекту «Class Library» («Бібліотека класів») . У вікні створення DLL всі поля заповнені значеннями за замовчанням. Як правило, їх слід перевизначити, задаючи власну інформацію.
У полі Name задати ім'я DLL – MyLib.
У полі Location вказується шлях до каталогу, де зберігатиметься Рішення, що містить проект.
Розмістіть рішення в папці Lab5
У полі Solution виберіть елемент «Create New Solution», що створює нове Рішення (Альтернативою є елемент списку, що вказує, що проект може бути доданий до існуючого Рішення).
У вікні Solution Name задати ім'я Рішення. Вибрати Lab5.
Зверніть увагу на інші установки, зроблені в цьому вікні, - включений прапорець (за замовчанням) «Create directory for solution», у верхньому віконці із списку можливих каркасів вибраний каркас Framework .Net. Задавши необхідні установки і клацнувши по кнопці «OK», отримаємо автоматично побудовану заготівку проекту DLL, відкриту в середовищі Visual Studio 2008 .
Імена класів повинні бути змістовними. Змінимо ім'я «Class1» на ім'я «MySin». Для цього у вікні коду проекту виділимо ім'я змінної об'єкту, потім в головному меню виберемо пункт Refactor (Оптимізація коду) і підпункт Rename (Перейменування). У вікні, що відкрилося, вкажемо нове ім'я. Тоді будуть показані всі місця, що вимагають перейменування об'єкту. В даному випадку буде лише одна очевидна заміна, але в загальному випадку замін багато, так що автоматична заміна всіх входжень корисна.
Правило стилю: ім'я класу і ім'я файлу, що зберігає клас, повинні збігатися. Перейменування імені файлу робиться безпосередньо у вікні проектів Solution Explorer.
Правило стилю: додавання коментаря. Для цього в рядку перед заголовком класу слід набрати три слеша (три косі риски). В результаті перед заголовком класу з'явиться заголовний коментар – тег «summary», в який і слід додати короткий, але змістовний опис призначення класу. Теги «summary», якими слід супроводжувати класи, відкриті (public) методи і поля класу відіграють три важливі ролі. Вони полегшують розробку і супровід проекту, роблячи його самодокументованим. Клієнти класу при створенні об'єктів класу отримують інтелектуальну підказку, що пояснює суть того, що можна робити з об'єктами. Спеціальний інструментарій дозволяє побудувати документацію за проектом, що включає інформацію з тегів «summary».
У нашому прикладі коментар до класу MySin може бути достатньо простим – «Обчислення математичних функцій ».
Напишемо реалізацію одного методу класу – обчислення функції Sin(x) через ряд Тейлора.
Спочатку напишемо коментарі до методу (у форматі XML). Далі напишемо реалізацію методу. Отримаємо код.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MyLib
{
///Обчислення математичних фунцій
public class MySin
{
/// <summary>
/// Sin(x)
/// </summary>
/// <param name="x">кут в радіанах – перший аргумент функції Sin</param>
///<param name="n">показник ступеня – другий аргумент функції Sin</param>
/// <returns>Повертає значення функції Sin для заданого кута</returns>
public static double Sin(double x, int n)
{
double result = 0;
for (int i = 0; i < n; i++)
{
result = result + (Math.Pow((-1), i) * Math.Pow(x, (2 * i + 1))) / F(2 * i + 1);
}
return result;
}
static double F(int n)
{
double tmp = 1;
for (int i = 1; i <= n; i++)
{
tmp = tmp * i;
}
return tmp;
}
}
}
Побудуємо Рішення, що містить проект, для чого в Головному меню виберемо пункт Build|Build Solution. В результаті успішної компіляції буде побудований файл з уточненням dll. Оскільки побудована збірка не містить виконуваного файлу, то безпосередньо запустити наш проект на виконання не удасться. Побудуємо консольний проект, до якого приєднаємо нашу DLL, і протестуємо, наскільки коректно працюють створені нами методи.
Дата: 2019-02-25, просмотров: 215.