.NET Core: crea la libreria .NET Standard

Una libreria di classi definisce i tipi ei metodi che possono essere chiamati da qualsiasi applicazione.

  • Una libreria di classi sviluppata utilizzando .NET Core supporta la libreria .NET Standard, che consente alla libreria di essere chiamata da qualsiasi piattaforma .NET che supporti quella versione della libreria .NET Standard.

  • Una volta terminata la libreria di classi, è possibile decidere se distribuirla come componente di terze parti o se includerla come componente in bundle con una o più applicazioni.

Cominciamo aggiungendo un progetto di libreria di classi nella nostra applicazione Console; fare clic con il pulsante destro del mouse sul filesrc cartella in Esplora soluzioni e selezionare Add → New Project…

Nel Add New Project finestra di dialogo, scegli il nodo .NET Core, quindi scegli il modello di progetto Libreria di classi (.NET Core).

Nella casella di testo Nome, immettere "UtilityLibrary" come nome del progetto, come mostra la figura seguente.

Fare clic su OK per creare il progetto della libreria di classi. Una volta creato il progetto, aggiungiamo una nuova classe. Fare clic con il tasto destro suproject in Esplora soluzioni e seleziona Add → Class...

Selezionare la classe nel riquadro centrale e immettere StringLib.cs nel nome e nel campo, quindi fare clic su Add. Una volta aggiunta la classe, sostituire il codice seguente nel file 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 libreria di classi, UtilityLibrary.StringLib, contiene alcuni metodi come, StartsWithUpper, StartsWithLower, e StartsWithNumber che restituisce un valore booleano che indica se l'istanza di stringa corrente inizia rispettivamente con lettere maiuscole, minuscole e numeri.

  • In .NET Core, il Char.IsUpper restituisce true se un carattere è in maiuscolo, il metodo Char.IsLower restituisce true se un carattere è in minuscolo e analogamente il metodo Char.IsNumber restituisce true se un carattere è un numerico.

  • Sulla barra dei menu, scegli Genera, Genera soluzione. Il progetto dovrebbe essere compilato senza errori.

  • Il nostro progetto console .NET Core non ha accesso alla nostra libreria di classi.

  • Ora per consumare questa libreria di classi dobbiamo aggiungere il riferimento a questa libreria di classi nel nostro progetto console.

Per fare ciò, espandere FirstApp e fare clic con il pulsante destro del mouse su Riferimenti e selezionare Add Reference…

Nella finestra di dialogo Gestione riferimenti, seleziona UtilityLibrary, il nostro progetto di libreria di classi, quindi fai clic su OK.

Apriamo ora il file Program.cs del progetto console e sostituiamo tutto il codice con il codice seguente.

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

Eseguiamo ora la tua applicazione e vedrai il seguente output.

Per una migliore comprensione, utilizziamo gli altri metodi di estensione della libreria di classi nel progetto.