|
@@ -45,20 +45,16 @@
|
|
|
|
|
|
|
|
Создаем **новый** проект, установив нужные фильтры (*C#*, *Windows*, *Библиотека*) и выбрав проект для соответствующей платформы. **Мы всё делаем для .NET Core**.
|
|
Создаем **новый** проект, установив нужные фильтры (*C#*, *Windows*, *Библиотека*) и выбрав проект для соответствующей платформы. **Мы всё делаем для .NET Core**.
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
Не забываем указывать название проекта. Как вы тут напишете, так dll и будет называться.
|
|
Не забываем указывать название проекта. Как вы тут напишете, так dll и будет называться.
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
|
|
|
|
|
В итоге студия создаст нам "рыбу" с одним файлом:
|
|
В итоге студия создаст нам "рыбу" с одним файлом:
|
|
|
|
|
|
|
|
```cs
|
|
```cs
|
|
|
using System;
|
|
using System;
|
|
|
-using System.Collections.Generic;
|
|
|
|
|
-using System.Linq;
|
|
|
|
|
-using System.Text;
|
|
|
|
|
-using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
namespace CompanyCoreLib
|
|
namespace CompanyCoreLib
|
|
|
{
|
|
{
|
|
@@ -247,6 +243,53 @@ return DateTimeWithCounterList
|
|
|
|
|
|
|
|
**ToList** преобразует полученный после сортировки объект (IEnumerable) в список, который и возвращается методом.
|
|
**ToList** преобразует полученный после сортировки объект (IEnumerable) в список, который и возвращается методом.
|
|
|
|
|
|
|
|
|
|
+## Использование созданной библиотеки
|
|
|
|
|
+
|
|
|
|
|
+Библиотека классов не может работать сама по-себе. Нужна программа, которая будет использовать реализованные в ней классы.
|
|
|
|
|
+
|
|
|
|
|
+В следующей лекции мы рассмотрим как создавать UNIT-тесты, а пока создадим простое консольное приложение, к которому подключим библиотеку.
|
|
|
|
|
+
|
|
|
|
|
+В контекстном меню решения добавьте новый проект
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+Обратите внимание, тип приложения (Framework или Core) должен совпадать
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+В созданном приложении к контекстном меню "Зависимостей" добавьте ссылку на проект
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+Теперь в коде консольного приложения мы можем использовать класс из библиотеки:
|
|
|
|
|
+
|
|
|
|
|
+```cs
|
|
|
|
|
+namespace ConsoleApp1
|
|
|
|
|
+{
|
|
|
|
|
+ class Program
|
|
|
|
|
+ {
|
|
|
|
|
+ static void Main(string[] args)
|
|
|
|
|
+ {
|
|
|
|
|
+ // создаём экземпляр класса аналитики
|
|
|
|
|
+ var analytics = new Analytics();
|
|
|
|
|
+
|
|
|
|
|
+ // подгатавливаем массив тестовых данных
|
|
|
|
|
+ var srcDates = new List<DateTime>()
|
|
|
|
|
+ {
|
|
|
|
|
+ new DateTime(2022,12,1,0,0,0),
|
|
|
|
|
+ new DateTime(2022,11,1,0,0,0),
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // выполняем метод и получаем результат
|
|
|
|
|
+ var outDates = analytics.PopularMonths(srcDates);
|
|
|
|
|
+
|
|
|
|
|
+ // вывод результата в консоль сделайте сами
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+```
|
|
|
|
|
|
|
|
# Контрольное задание
|
|
# Контрольное задание
|
|
|
|
|
|