.NET Core - Erstellen Sie eine .NET-Standardbibliothek

Eine Klassenbibliothek definiert die Typen und Methoden, die von jeder Anwendung aufgerufen werden können.

  • Eine mit .NET Core entwickelte Klassenbibliothek unterstützt die .NET-Standardbibliothek, mit der Ihre Bibliothek von jeder .NET-Plattform aufgerufen werden kann, die diese Version der .NET-Standardbibliothek unterstützt.

  • Wenn Sie Ihre Klassenbibliothek fertiggestellt haben, können Sie entscheiden, ob Sie sie als Komponente eines Drittanbieters verteilen oder als Komponente einbinden möchten, die mit einer oder mehreren Anwendungen gebündelt ist.

Beginnen wir mit dem Hinzufügen eines Klassenbibliotheksprojekts in unserer Konsolenanwendung. Klicken Sie mit der rechten Maustaste aufsrc Ordner im Projektmappen-Explorer und wählen Sie Add → New Project…

In dem Add New Project Wählen Sie im Dialogfeld den .NET Core-Knoten und anschließend die Projektvorlage für die Klassenbibliothek (.NET Core).

Geben Sie im Textfeld Name "UtilityLibrary" als Namen des Projekts ein, wie die folgende Abbildung zeigt.

Klicken Sie auf OK, um das Klassenbibliotheksprojekt zu erstellen. Sobald das Projekt erstellt ist, fügen wir eine neue Klasse hinzu. Klicken Sie mit der rechten Maustaste aufproject im Projektmappen-Explorer und wählen Sie Add → Class...

Wählen Sie im mittleren Bereich die Klasse aus, geben Sie StringLib.cs in den Namen und das Feld ein und klicken Sie dann auf Add. Ersetzen Sie nach dem Hinzufügen der Klasse den folgenden Code in der Datei 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); 
      } 
   } 
}
  • Die Klassenbibliothek, UtilityLibrary.StringLib, enthält einige Methoden wie, StartsWithUpper, StartsWithLower, und StartsWithNumber Dies gibt einen booleschen Wert zurück, der angibt, ob die aktuelle Zeichenfolgeninstanz mit Groß-, Klein- und Kleinbuchstaben beginnt.

  • In .NET Core wird die Char.IsUpper Die Methode gibt true zurück, wenn ein Zeichen in Großbuchstaben geschrieben ist, die Char.IsLower-Methode gibt true zurück, wenn ein Zeichen in Kleinbuchstaben geschrieben ist, und die Char.IsNumber-Methode gibt true zurück, wenn ein Zeichen eine Zahl ist.

  • Wählen Sie in der Menüleiste Erstellen, Lösung erstellen. Das Projekt sollte fehlerfrei kompiliert werden.

  • Unser .NET Core-Konsolenprojekt hat keinen Zugriff auf unsere Klassenbibliothek.

  • Um diese Klassenbibliothek zu nutzen, müssen wir in unserem Konsolenprojekt einen Verweis auf diese Klassenbibliothek hinzufügen.

Erweitern Sie dazu FirstApp, klicken Sie mit der rechten Maustaste auf Referenzen und wählen Sie Add Reference…

Wählen Sie im Dialogfeld Referenzmanager UtilityLibrary, unser Klassenbibliotheksprojekt, aus und klicken Sie dann auf OK.

Öffnen wir nun die Datei Program.cs des Konsolenprojekts und ersetzen den gesamten Code durch den folgenden Code.

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

Lassen Sie uns jetzt Ihre Anwendung ausführen und Sie werden die folgende Ausgabe sehen.

Lassen Sie uns zum besseren Verständnis die anderen Erweiterungsmethoden Ihrer Klassenbibliothek in Ihrem Projekt verwenden.