Esercitazione: Creare una libreria di classi .NET con Visual Studio
In questa esercitazione viene creata una libreria di classi semplice che contiene un singolo metodo di gestione delle stringhe.
Una libreria di classi definisce tipi e metodi chiamati da un'applicazione. Se la libreria è destinata a .NET Standard 2.0, può essere chiamata da qualsiasi implementazione di .NET (incluso .NET Framework) che supporti .NET Standard 2.0. Se la libreria è destinata a .NET 8, può essere chiamata da qualsiasi applicazione destinata a .NET 8. Questa esercitazione illustra come puntare a .NET 8.
Quando si crea una libreria di classi, è possibile distribuirla come pacchetto NuGet o come componente in bundle con l'applicazione che lo usa.
Prerequisiti
Visual Studio 2022 con il carico di lavoro per lo sviluppo desktop .NET installato. .NET 8 SDK viene installato automaticamente quando si seleziona questo carico di lavoro.
Per altre informazioni, vedere Installare .NET SDK con Visual Studio.
Creare una soluzione
Per iniziare, creare una soluzione vuota in cui inserire il progetto di libreria di classi. Una soluzione di Visual Studio funge da contenitore per uno o più progetti. Si aggiungeranno altri progetti correlati alla stessa soluzione.
Per creare la soluzione vuota:
Avvia Visual Studio.
Nella finestra iniziale scegliere Crea un nuovo progetto.
Nella pagina Crea un nuovo progetto immettere soluzione nella casella di ricerca. Scegliere il modello Soluzione Vuota e quindi scegliere Avanti.
Nella pagina Configura il nuovo progetto, inserisci ClassLibraryProjects nella casella denominata Nome soluzione. Scegliere quindi Crea.
Creare un progetto di libreria di classi
Aggiungere alla soluzione un nuovo progetto di libreria di classi .NET denominato "StringLibrary".
Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.
Nella pagina Aggiungi un nuovo progetto, immettere library nella casella di ricerca. Scegliere C# o Visual Basic dall'elenco Linguaggio e quindi scegliere Tutte le piattaforme dall'elenco Piattaforma. Scegliere il modello Libreria di classi e quindi scegliere Avanti.
Nella pagina Configura il nuovo progetto, inserire StringLibrary nella casella Nome progetto, poi scegliere Avanti.
Nella pagina Informazioni aggiuntive selezionare .NET 8e quindi scegliere Crea.
Verificare che la libreria sia destinata alla versione corretta di .NET. Fare clic con il pulsante destro del mouse sul progetto di libreria in Esplora soluzionie quindi scegliere proprietà . Il framework di destinazione nella casella di testo mostra che il progetto è destinato a .NET 8.0.
Se si utilizza Visual Basic, cancellare il testo nella casella di testo spazio dei nomi radice.
Per ogni progetto, Visual Basic crea automaticamente uno spazio dei nomi corrispondente al nome del progetto. In questa esercitazione si definisce uno spazio dei nomi di primo livello usando la parola chiave
namespace
nel file di codice.Sostituire il codice nella finestra del codice per Class1.cs o Class1.vb con il codice seguente e salvare il file. Se la lingua da usare non viene visualizzata, modificare il selettore di lingua nella parte superiore della pagina.
using System; namespace UtilityLibraries { public static class StringLibrary { public static bool StartsWithUpper(this string str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } } }
Imports System.Runtime.CompilerServices Namespace UtilityLibraries Public Module StringLibrary <Extension> Public Function StartsWithUpper(str As String) As Boolean If String.IsNullOrWhiteSpace(str) Then Return False End If Dim ch As Char = str(0) Return Char.IsUpper(ch) End Function End Module End Namespace
La libreria di classi,
UtilityLibraries.StringLibrary
, contiene un metodo denominatoStartsWithUpper
. Questo metodo restituisce un valore Boolean che indica se l'istanza della stringa corrente inizia con un carattere maiuscolo. Lo standard Unicode distingue i caratteri maiuscoli dai caratteri minuscoli. Il metodo Char.IsUpper(Char) restituiscetrue
se un carattere è maiuscolo.StartsWithUpper
viene implementato come metodo di estensione in modo da poterlo chiamare come se fosse un membro della classe String. Il punto interrogativo (?
) dopostring
nel codice C# indica che la stringa può essere Null.Nella barra dei menu, selezionare Build>Build Solution oppure premere Ctrl+Shift+B per verificare che il progetto venga compilato senza errori.
Aggiungere un'app console alla soluzione
Aggiungere un'applicazione console che usa la libreria di classi. L'app chiederà all'utente di immettere una stringa e di segnalare se la stringa inizia con un carattere maiuscolo.
Aggiungere una nuova applicazione console .NET denominata "ShowCase" alla soluzione.
Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.
Nella pagina Aggiungi un nuovo progetto, immettere console nella casella di ricerca. Scegliere C# o Visual Basic dall'elenco Linguaggio e quindi scegliere Tutte le piattaforme dall'elenco Piattaforma.
Scegliere il modello Applicazione Console e quindi scegliere Avanti.
Nella pagina Configura il tuo nuovo progetto, inserisci ShowCase nella casella Nome progetto. Scegliere quindi Avanti.
Nella pagina
Informazioni aggiuntive selezionare.NET 8 nella casella Framework. Scegliere quindi Crea.
Nella finestra del codice per il file Program.cs o Program.vb sostituire tutto il codice con il codice seguente.
using System; using UtilityLibraries; class Program { static void Main(string[] args) { int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrEmpty(input)) break; Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{(input.StartsWithUpper() ? "Yes" : "No")}{Environment.NewLine}"); row += 3; } while (true); return; // Declare a ResetConsole local method void ResetConsole() { if (row > 0) { Console.WriteLine("Press any key to continue..."); Console.ReadKey(); } Console.Clear(); Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}"); row = 3; } } }
Imports UtilityLibraries Module Program Dim row As Integer = 0 Sub Main() Do If row = 0 OrElse row >= 25 Then ResetConsole() Dim input As String = Console.ReadLine() If String.IsNullOrEmpty(input) Then Return Console.WriteLine($"Input: {input} {"Begins with uppercase? ",30}: " + $"{If(input.StartsWithUpper(), "Yes", "No")} {Environment.NewLine}") row += 3 Loop While True End Sub Private Sub ResetConsole() If row > 0 Then Console.WriteLine("Press any key to continue...") Console.ReadKey() End If Console.Clear() Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}") row = 3 End Sub End Module
Il codice usa la variabile
row
per mantenere un conteggio del numero di righe di dati scritti nella finestra della console. Ogni volta che è maggiore o uguale a 25, il codice cancella la finestra della console e visualizza un messaggio all'utente.Il programma richiede all'utente di immettere una stringa. Indica se la stringa inizia con un carattere maiuscolo. Se l'utente preme il tasto INVIO senza immettere una stringa, l'applicazione termina e la finestra della console viene chiusa.
Aggiungere un riferimento al progetto
Inizialmente, il nuovo progetto di app console non ha accesso alla libreria di classi. Per consentire al programma di chiamare i metodi nella libreria di classi, creare un riferimento al progetto della libreria di classi.
In Esplora soluzioni
, fare clic con il pulsante destro del mouse sul nodo Dipendenze del progetto , e selezionare Aggiungi riferimento al progetto .Nella finestra di dialogo Gestione riferimenti
selezionare il progetto StringLibrary e selezionare OK .
Eseguire l'app
In Esplora Soluzioni
, fare clic con il pulsante destro del mouse sul progetto ShowCase e scegliereImposta come progetto di avvio nel menu di scelta rapida.Premere CTRL+F5 per compilare ed eseguire il programma senza eseguire il debug.
Provare il programma immettendo stringhe e premendo INVIO, quindi premere INVIO per uscire.
Finestra di console con ShowCase in esecuzione
Risorse aggiuntive
- Sviluppare librerie con l'interfaccia della riga di comando di .NET
- Le versioni di .NET Standard e le piattaforme da esse supportate.
Passaggi successivi
In questa esercitazione, avete creato una libreria di classi. Nell'esercitazione successiva apprenderai come eseguire gli unit test della libreria di classi.
In alternativa, è possibile ignorare gli unit test automatizzati e imparare a condividere la libreria creando un pacchetto NuGet:
Scopri come pubblicare un'app console. Pubblicando l'applicazione console dalla soluzione creata in questo tutorial, la libreria di classi viene inclusa come file .dll.