Евгений Колесников hace 3 años
padre
commit
99bb03194f
Se han modificado 7 ficheros con 49 adiciones y 6 borrados
  1. 49 6
      articles/5_3_1_9_classlib.md
  2. BIN
      img/test_01.png
  3. BIN
      img/test_02.png
  4. BIN
      img/test_03.png
  5. BIN
      img/test_04.png
  6. BIN
      img/test_05.png
  7. BIN
      img/test_06.png

+ 49 - 6
articles/5_3_1_9_classlib.md

@@ -45,20 +45,16 @@
 
 Создаем **новый** проект, установив нужные фильтры (*C#*, *Windows*, *Библиотека*) и выбрав проект для соответствующей платформы. **Мы всё делаем для .NET Core**.
 
-![создание проекта](../img/demo03.png)
+![создание проекта](../img/test_01.png)
 
 Не забываем указывать название проекта. Как вы тут напишете, так dll и будет называться.
 
-![ввод названия](../img/demo04.png)
+![ввод названия](../img/test_02.png)
 
 В итоге студия создаст нам "рыбу" с одним файлом:
 
 ```cs
 using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace CompanyCoreLib
 {
@@ -247,6 +243,53 @@ return DateTimeWithCounterList
 
 **ToList** преобразует полученный после сортировки объект (IEnumerable) в список, который и возвращается методом. 
 
+## Использование созданной библиотеки
+
+Библиотека классов не может работать сама по-себе. Нужна программа, которая будет использовать реализованные в ней классы.
+
+В следующей лекции мы рассмотрим как создавать UNIT-тесты, а пока создадим простое консольное приложение, к которому подключим библиотеку.
+
+В контекстном меню решения добавьте новый проект
+
+![](../img/test_03.png)
+
+Обратите внимание, тип приложения (Framework или Core) должен совпадать
+
+![](../img/test_04.png)
+
+В созданном приложении к контекстном меню "Зависимостей" добавьте ссылку на проект
+
+![](../img/test_05.png)
+
+![](../img/test_06.png)
+
+Теперь в коде консольного приложения мы можем использовать класс из библиотеки:
+
+```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);
+
+            // вывод результата в консоль сделайте сами
+        }
+    }
+}
+```
 
 # Контрольное задание
 

BIN
img/test_01.png


BIN
img/test_02.png


BIN
img/test_03.png


BIN
img/test_04.png


BIN
img/test_05.png


BIN
img/test_06.png