.NET Core - Créer une bibliothèque standard .NET

Une bibliothèque de classes définit les types et méthodes qui peuvent être appelés à partir de n'importe quelle application.

  • Une bibliothèque de classes développée à l'aide de .NET Core prend en charge la bibliothèque standard .NET, qui permet à votre bibliothèque d'être appelée par toute plate-forme .NET prenant en charge cette version de la bibliothèque standard .NET.

  • Lorsque vous avez terminé votre bibliothèque de cours, vous pouvez décider si vous souhaitez la distribuer en tant que composant tiers, ou si vous souhaitez l'inclure en tant que composant fourni avec une ou plusieurs applications.

Commençons par ajouter un projet de bibliothèque de classes dans notre application Console; faites un clic droit sur lesrc dossier dans l'Explorateur de solutions et sélectionnez Add → New Project…

dans le Add New Project boîte de dialogue, choisissez le nœud .NET Core, puis choisissez le modèle de projet Bibliothèque de classes (.NET Core).

Dans la zone de texte Nom, saisissez "UtilityLibrary" comme nom du projet, comme le montre la figure suivante.

Cliquez sur OK pour créer le projet de bibliothèque de classes. Une fois le projet créé, ajoutons une nouvelle classe. Faites un clic droit surproject dans l'Explorateur de solutions et sélectionnez Add → Class...

Sélectionnez la classe dans le volet central et entrez StringLib.cs dans le nom et le champ, puis cliquez sur Add. Une fois la classe ajoutée, remplacez le code suivant dans le fichier 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); 
      } 
   } 
}
  • La bibliothèque de classe, UtilityLibrary.StringLib, contient des méthodes comme, StartsWithUpper, StartsWithLower, et StartsWithNumber qui renvoie une valeur booléenne indiquant si l'instance de chaîne actuelle commence respectivement par une majuscule, une minuscule et un nombre.

  • Dans .NET Core, le Char.IsUpper renvoie true si un caractère est en majuscules, la méthode Char.IsLower renvoie true si un caractère est en minuscules, et de même, la méthode Char.IsNumber retourne true si un caractère est un numérique.

  • Dans la barre de menus, choisissez Build, Build Solution. Le projet doit se compiler sans erreur.

  • Notre projet de console .NET Core n'a pas accès à notre bibliothèque de classes.

  • Maintenant, pour consommer cette bibliothèque de classes, nous devons ajouter une référence à cette bibliothèque de classes dans notre projet de console.

Pour ce faire, développez FirstApp et cliquez avec le bouton droit sur Références et sélectionnez Add Reference…

Dans la boîte de dialogue Gestionnaire de références, sélectionnez UtilityLibrary, notre projet de bibliothèque de classes, puis cliquez sur OK.

Ouvrons maintenant le fichier Program.cs du projet de console et remplaçons tout le code par le code suivant.

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

Laissez-nous maintenant exécuter votre application et vous verrez la sortie suivante.

Pour une meilleure compréhension, utilisons les autres méthodes d'extension de votre bibliothèque de classes dans votre projet.