Учебники

.NET Core — Создание стандартной библиотеки .NET

Библиотека классов определяет типы и методы, которые можно вызывать из любого приложения.

  • Библиотека классов, разработанная с использованием .NET Core, поддерживает стандартную библиотеку .NET, что позволяет вызывать вашу библиотеку на любой платформе .NET, поддерживающей эту версию стандартной библиотеки .NET.

  • Когда вы закончите свою библиотеку классов, вы можете решить, хотите ли вы распространять ее как сторонний компонент или хотите включить ее в качестве компонента, который связан с одним или несколькими приложениями.

Библиотека классов, разработанная с использованием .NET Core, поддерживает стандартную библиотеку .NET, что позволяет вызывать вашу библиотеку на любой платформе .NET, поддерживающей эту версию стандартной библиотеки .NET.

Когда вы закончите свою библиотеку классов, вы можете решить, хотите ли вы распространять ее как сторонний компонент или хотите включить ее в качестве компонента, который связан с одним или несколькими приложениями.

Давайте начнем с добавления проекта библиотеки классов в наше консольное приложение; щелкните правой кнопкой мыши папку src в обозревателе решений и выберите « Добавить» → «Новый проект»…

Новый проект

В диалоговом окне « Добавить новый проект » выберите узел .NET Core, затем выберите шаблон проекта библиотеки классов (.NET Core).

В текстовом поле «Имя» введите «UtilityLibrary» в качестве имени проекта, как показано на следующем рисунке.

UtilityLibrary

Нажмите OK, чтобы создать проект библиотеки классов. Как только проект будет создан, давайте добавим новый класс. Щелкните правой кнопкой мыши проект в обозревателе решений и выберите Добавить → Класс …

Учебный класс

Выберите класс в средней панели и введите StringLib.cs в имя и поле, а затем нажмите « Добавить» . После добавления класса замените следующий код в файле 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 возвращает true, если символ находится в верхнем регистре, метод Char.IsLower возвращает true, если символ в нижнем регистре, и аналогичным образом метод Char.IsNumber возвращает true, если символ является числовым.

  • В строке меню выберите Build, Build Solution. Проект должен скомпилироваться без ошибок.

  • Наш консольный проект .NET Core не имеет доступа к нашей библиотеке классов.

  • Теперь, чтобы использовать эту библиотеку классов, нам нужно добавить ссылку на эту библиотеку классов в наш консольный проект.

Библиотека классов, UtilityLibrary.StringLib , содержит некоторые методы, такие как, StartsWithUpper , StartsWithLower и StartsWithNumber, которые возвращают логическое значение, которое указывает, начинается ли текущий экземпляр строки с верхнего регистра, нижнего регистра и числа соответственно.

В .NET Core метод Char.IsUpper возвращает true, если символ находится в верхнем регистре, метод Char.IsLower возвращает true, если символ в нижнем регистре, и аналогичным образом метод Char.IsNumber возвращает true, если символ является числовым.

В строке меню выберите Build, Build Solution. Проект должен скомпилироваться без ошибок.

Наш консольный проект .NET Core не имеет доступа к нашей библиотеке классов.

Теперь, чтобы использовать эту библиотеку классов, нам нужно добавить ссылку на эту библиотеку классов в наш консольный проект.

Для этого разверните FirstApp, щелкните правой кнопкой мыши на References и выберите Add Reference…

FirstApp

В диалоговом окне «Диспетчер ссылок» выберите UtilityLibrary, проект нашей библиотеки классов, а затем нажмите » ОК» .

Теперь давайте откроем файл 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); 
      } 
   } 
} 

Давайте теперь запустим ваше приложение, и вы увидите следующий результат.

заявка

Для лучшего понимания позвольте нам использовать другие методы расширения вашей библиотеки классов в вашем проекте.