.NET Core - tworzenie biblioteki standardowej .NET

Biblioteka klas definiuje typy i metody, które można wywołać z dowolnej aplikacji.

  • Biblioteka klas opracowana przy użyciu platformy .NET Core obsługuje standardową bibliotekę .NET, która umożliwia wywoływanie biblioteki przez dowolną platformę .NET obsługującą tę wersję biblioteki standardowej .NET.

  • Kiedy skończysz swoją bibliotekę klas, możesz zdecydować, czy chcesz ją rozprowadzać jako komponent innej firmy, czy też chcesz ją dołączyć jako komponent, który jest dołączony do jednej lub więcej aplikacji.

Zacznijmy od dodania projektu biblioteki klas w naszej aplikacji Console; kliknij prawym przyciskiem myszy pliksrc folder w Eksploratorze rozwiązań i wybierz Add → New Project…

w Add New Project W oknie dialogowym wybierz węzeł .NET Core, a następnie wybierz szablon projektu biblioteki klas (.NET Core).

W polu tekstowym Nazwa wprowadź „UtilityLibrary” jako nazwę projektu, jak pokazano na poniższym rysunku.

Kliknij przycisk OK, aby utworzyć projekt biblioteki klas. Po utworzeniu projektu dodajmy nową klasę. Kliknij prawym przyciskiem myszyproject w Eksploratorze rozwiązań i wybierz Add → Class...

Wybierz klasę w środkowym okienku i wprowadź StringLib.cs w nazwie i polu, a następnie kliknij Add. Po dodaniu klasy zamień następujący kod w pliku 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); 
      } 
   } 
}
  • Biblioteka klasowa, UtilityLibrary.StringLib, zawiera metody takie jak: StartsWithUpper, StartsWithLower, i StartsWithNumber która zwraca wartość logiczną, która wskazuje, czy bieżące wystąpienie ciągu zaczyna się odpowiednio od dużej, małej litery i liczby.

  • W programie .NET Core Char.IsUpper metoda zwraca wartość true, jeśli znak jest pisany wielką literą, metoda Char.IsLower zwraca wartość true, jeśli znak jest pisany małymi literami, i podobnie metoda Char.IsNumber zwraca wartość true, jeśli znak jest liczbą.

  • Na pasku menu wybierz opcję Kompiluj, kompiluj rozwiązanie. Projekt powinien się skompilować bez błędów.

  • Nasz projekt konsoli .NET Core nie ma dostępu do naszej biblioteki klas.

  • Teraz, aby korzystać z tej biblioteki klas, musimy dodać odwołanie do tej biblioteki klas w naszym projekcie konsoli.

Aby to zrobić, rozwiń FirstApp, kliknij prawym przyciskiem myszy References i wybierz Add Reference…

W oknie dialogowym Menedżer odniesień wybierz opcję UtilityLibrary, nasz projekt biblioteki klas, a następnie kliknij przycisk OK.

Otwórzmy teraz plik Program.cs projektu konsoli i zamień cały kod na następujący kod.

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); 
      } 
   } 
}

Uruchommy teraz twoją aplikację, a zobaczysz następujący wynik.

Aby lepiej zrozumieć, pozwól nam skorzystać z innych metod rozszerzających biblioteki klas w Twoim projekcie.