.NET Core - создание стандартной библиотеки .NET
Библиотека классов определяет типы и методы, которые можно вызывать из любого приложения.
Библиотека классов, разработанная с использованием .NET Core, поддерживает стандартную библиотеку .NET, которая позволяет вызывать вашу библиотеку с любой платформы .NET, которая поддерживает эту версию стандартной библиотеки .NET.
Когда вы закончите свою библиотеку классов, вы можете решить, хотите ли вы распространять ее как сторонний компонент или хотите ли вы включить ее как компонент, связанный с одним или несколькими приложениями.
Начнем с добавления проекта библиотеки классов в наше консольное приложение; щелкните правой кнопкой мыши наsrc папку в обозревателе решений и выберите Add → New Project…
в Add New Project В диалоговом окне выберите узел .NET Core, затем выберите шаблон проекта библиотеки классов (.NET Core).
В текстовом поле «Имя» введите «UtilityLibrary» в качестве имени проекта, как показано на следующем рисунке.
Нажмите OK, чтобы создать проект библиотеки классов. Как только проект будет создан, давайте добавим новый класс. Щелкните правой кнопкой мыши наproject в обозревателе решений и выберите Add → Class...
Выберите класс на средней панели и введите StringLib.cs в имя и поле, а затем щелкните Add. После добавления класса замените следующий код в файле StringLib.cs.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace UtilityLibrary {
public static class StringLib {
public static bool StartsWithUpper(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsUpper(ch);
}
public static bool StartsWithLower(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsLower(ch);
}
public static bool StartsWithNumber(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsNumber(ch);
}
}
}
Библиотека классов, UtilityLibrary.StringLib, содержит такие методы, как, StartsWithUpper, StartsWithLower, и StartsWithNumber который возвращает логическое значение, указывающее, начинается ли текущий экземпляр строки с верхнего, нижнего регистра и числа соответственно.
В .NET Core Char.IsUpper метод возвращает истину, если символ в верхнем регистре, метод Char.IsLower возвращает истину, если символ в нижнем регистре, и аналогично метод Char.IsNumber возвращает истину, если символ является числовым.
В строке меню выберите Build, Build Solution. Проект должен компилироваться без ошибок.
Наш проект консоли .NET Core не имеет доступа к нашей библиотеке классов.
Теперь, чтобы использовать эту библиотеку классов, нам нужно добавить ссылку на эту библиотеку классов в наш консольный проект.
Для этого разверните FirstApp, щелкните правой кнопкой мыши Ссылки и выберите Add Reference…
В диалоговом окне диспетчера ссылок выберите UtilityLibrary, наш проект библиотеки классов, а затем нажмите OK.
Давайте теперь откроем файл Program.cs проекта консоли и заменим весь код следующим кодом.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using UtilityLibrary;
namespace FirstApp {
public class Program {
public static void Main(string[] args) {
int rows = Console.WindowHeight;
Console.Clear();
do {
if (Console.CursorTop >= rows || Console.CursorTop == 0) {
Console.Clear();
Console.WriteLine("\nPress <Enter> only to exit; otherwise, enter a string and press <Enter>:\n");
}
string input = Console.ReadLine();
if (String.IsNullOrEmpty(input)) break;
Console.WriteLine("Input: {0} {1,30}: {2}\n", input, "Begins with uppercase? ",
input.StartsWithUpper() ? "Yes" : "No");
} while (true);
}
}
}
Давайте теперь запустим ваше приложение, и вы увидите следующий результат.
Для лучшего понимания позвольте нам использовать другие методы расширения вашей библиотеки классов в вашем проекте.