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.

La 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 usare .NET 8 come destinazione.

Quando si crea una libreria di classi, è possibile distribuirla come pacchetto NuGet o come componente in bundle con l'applicazione che lo usa.

Prerequisiti

Creazione di 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:

  1. Avviare Visual Studio.

  2. Nella finestra iniziale scegliere Crea un nuovo progetto.

  3. Nella pagina Crea un nuovo progetto immettere soluzione nella casella di ricerca. Scegliere il modello Soluzione vuota e quindi scegliere Avanti.

    Blank solution template in Visual Studio

  4. Nella pagina Configura il nuovo progetto immettere ClassLibraryProjects nella casella Nome soluzione. Scegli quindi Crea.

Creare un progetto di libreria di classi

  1. Aggiungere alla soluzione un nuovo progetto di libreria di classi .NET denominato "StringLibrary".

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. Nella pagina Aggiungi un nuovo progetto immettere libreria nella casella di ricerca. Scegliere C# o Visual Basic dall'elenco Linguaggio e quindi scegliere Tutte le piattaforme dall'elenco Piattaforma. Scegliere il modello di libreria di classi e quindi scegliere Avanti.

    3. Nella pagina Configura il nuovo progetto immettere StringLibrary nella casella Nome progetto e quindi scegliere Avanti.

    4. Nella pagina Informazioni aggiuntive selezionare .NET 8 (anteprima) e quindi scegliere Crea.

  2. 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à. La casella di testo Framework di destinazione mostra che il progetto è destinato a .NET 7.0.

  3. Se si usa Visual Basic, deselezionare il testo nella casella di testo Spazio dei nomi radice.

    Project properties for the class library

    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.

  4. 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.

    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 denominato StartsWithUpper. 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 minuscoli. Il metodo Char.IsUpper(Char) restituisce true se un carattere è maiuscolo.

    StartsWithUpper viene implementato come metodo di estensione in modo da poterlo chiamare come se fosse membro della classe String. Il punto interrogativo (?) dopo string nel codice C# indica che la stringa può essere null.

  5. Nella barra dei menu selezionare Compila>Compila soluzione oppure premere CTRL+MAIUSC+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.

  1. Aggiungere una nuova applicazione console .NET denominata "ShowCase" alla soluzione.

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. 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.

    3. Scegliere il modello applicazione console e quindi scegliere Avanti.

    4. Nella pagina Configura il nuovo progetto immettere ShowCase nella casella Nome progetto. Scegliere quindi Avanti.

    5. Nella pagina Informazioni aggiuntive selezionare .NET 8 (anteprima) nella casella Framework. Scegli quindi Crea.

  2. Nella finestra del codice per il file Program.cs o Program.vb sostituire tutto il codice con il codice seguente.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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 il 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 di chiamare i metodi nella libreria di classi, creare un riferimento al progetto di libreria di classi.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo dipendenze del progetto ShowCase e selezionare Aggiungi riferimento al progetto.

    Add reference context menu in Visual Studio

  2. Nella finestra di dialogo Gestione riferimenti selezionare il progetto StringLibrary e selezionare OK.

    Reference Manager dialog with StringLibrary selected

Eseguire l'app

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ShowCase e selezionare Imposta come progetto di avvio nel menu di scelta rapida.

    Visual Studio project context menu to set startup project

  2. Premere CTRL+F5 per compilare ed eseguire il programma senza eseguire il debug.

  3. Provare il programma immettendo stringhe e premendo INVIO, quindi premere INVIO per uscire.

    Console window with ShowCase running

Risorse aggiuntive

Passaggi successivi

In questa esercitazione è stata creata una libreria di classi. Nell'esercitazione successiva si apprenderà come eseguire unit test della libreria di classi.

In alternativa, è possibile ignorare gli unit test automatizzati e imparare a condividere la libreria creando un pacchetto NuGet:

In alternativa, vedere come pubblicare un'app console. Se si pubblica l'app console dalla soluzione creata in questa esercitazione, la libreria di classi viene usata come file .dll.

In questa esercitazione viene creata una libreria di classi semplice che contiene un singolo metodo di gestione delle stringhe.

La 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 7, può essere chiamata da qualsiasi applicazione destinata a .NET 7. Questa esercitazione illustra come usare .NET 7 come destinazione.

Quando si crea una libreria di classi, è possibile distribuirla come pacchetto NuGet o come componente in bundle con l'applicazione che lo usa.

Prerequisiti

Creazione di 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:

  1. Avviare Visual Studio.

  2. Nella finestra iniziale scegliere Crea un nuovo progetto.

  3. Nella pagina Crea un nuovo progetto immettere soluzione nella casella di ricerca. Scegliere il modello Soluzione vuota e quindi scegliere Avanti.

    Blank solution template in Visual Studio

  4. Nella pagina Configura il nuovo progetto immettere ClassLibraryProjects nella casella Nome soluzione. Scegli quindi Crea.

Creare un progetto di libreria di classi

  1. Aggiungere alla soluzione un nuovo progetto di libreria di classi .NET denominato "StringLibrary".

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. Nella pagina Aggiungi un nuovo progetto immettere libreria nella casella di ricerca. Scegliere C# o Visual Basic dall'elenco Linguaggio e quindi scegliere Tutte le piattaforme dall'elenco Piattaforma. Scegliere il modello di libreria di classi e quindi scegliere Avanti.

    3. Nella pagina Configura il nuovo progetto immettere StringLibrary nella casella Nome progetto e quindi scegliere Avanti.

    4. Nella pagina Informazioni aggiuntive selezionare .NET 7 (supporto standard)e quindi scegliere Crea.

  2. 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à. La casella di testo Framework di destinazione mostra che il progetto è destinato a .NET 7.0.

  3. Se si usa Visual Basic, deselezionare il testo nella casella di testo Spazio dei nomi radice.

    Project properties for the class library

    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.

  4. 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.

    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 denominato StartsWithUpper. 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 minuscoli. Il metodo Char.IsUpper(Char) restituisce true se un carattere è maiuscolo.

    StartsWithUpper viene implementato come metodo di estensione in modo da poterlo chiamare come se fosse membro della classe String. Il punto interrogativo (?) dopo string nel codice C# indica che la stringa può essere null.

  5. Nella barra dei menu selezionare Compila>Compila soluzione oppure premere CTRL+MAIUSC+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.

  1. Aggiungere una nuova applicazione console .NET denominata "ShowCase" alla soluzione.

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. 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.

    3. Scegliere il modello applicazione console e quindi scegliere Avanti.

    4. Nella pagina Configura il nuovo progetto immettere ShowCase nella casella Nome progetto. Scegliere quindi Avanti.

    5. Nella pagina Informazioni aggiuntive selezionare .NET 7 (supporto standard) nella casella Framework. Scegli quindi Crea.

  2. Nella finestra del codice per il file Program.cs o Program.vb sostituire tutto il codice con il codice seguente.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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 il 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 di chiamare i metodi nella libreria di classi, creare un riferimento al progetto di libreria di classi.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo dipendenze del progetto ShowCase e selezionare Aggiungi riferimento al progetto.

    Add reference context menu in Visual Studio

  2. Nella finestra di dialogo Gestione riferimenti selezionare il progetto StringLibrary e selezionare OK.

    Reference Manager dialog with StringLibrary selected

Eseguire l'app

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ShowCase e selezionare Imposta come progetto di avvio nel menu di scelta rapida.

    Visual Studio project context menu to set startup project

  2. Premere CTRL+F5 per compilare ed eseguire il programma senza eseguire il debug.

  3. Provare il programma immettendo stringhe e premendo INVIO, quindi premere INVIO per uscire.

    Console window with ShowCase running

Risorse aggiuntive

Passaggi successivi

In questa esercitazione è stata creata una libreria di classi. Nell'esercitazione successiva si apprenderà come eseguire unit test della libreria di classi.

In alternativa, è possibile ignorare gli unit test automatizzati e imparare a condividere la libreria creando un pacchetto NuGet:

In alternativa, vedere come pubblicare un'app console. Se si pubblica l'app console dalla soluzione creata in questa esercitazione, la libreria di classi viene usata come file .dll.

In questa esercitazione viene creata una libreria di classi semplice che contiene un singolo metodo di gestione delle stringhe.

La 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 6, può essere chiamata da qualsiasi applicazione destinata a .NET 6. Questa esercitazione illustra come usare .NET 6 come destinazione.

Quando si crea una libreria di classi, è possibile distribuirla come pacchetto NuGet o come componente in bundle con l'applicazione che lo usa.

Prerequisiti

Creazione di 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:

  1. Avviare Visual Studio.

  2. Nella finestra iniziale scegliere Crea un nuovo progetto.

  3. Nella pagina Crea un nuovo progetto immettere soluzione nella casella di ricerca. Scegliere il modello Soluzione vuota e quindi scegliere Avanti.

    Blank solution template in Visual Studio

  4. Nella pagina Configura il nuovo progetto immettere ClassLibraryProjects nella casella Nome soluzione. Scegli quindi Crea.

Creare un progetto di libreria di classi

  1. Aggiungere alla soluzione un nuovo progetto di libreria di classi .NET denominato "StringLibrary".

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. Nella pagina Aggiungi un nuovo progetto immettere libreria nella casella di ricerca. Scegliere C# o Visual Basic dall'elenco Linguaggio e quindi scegliere Tutte le piattaforme dall'elenco Piattaforma. Scegliere il modello di libreria di classi e quindi scegliere Avanti.

    3. Nella pagina Configura il nuovo progetto immettere StringLibrary nella casella Nome progetto e quindi scegliere Avanti.

    4. Nella pagina Informazioni aggiuntive selezionare .NET 6 (supporto a lungo termine)e quindi scegliere Crea.

  2. 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à. La casella di testo Framework di destinazione mostra che il progetto è destinato a .NET 6.0.

  3. Se si usa Visual Basic, deselezionare il testo nella casella di testo Spazio dei nomi radice.

    Project properties for the class library

    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.

  4. 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.

    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 denominato StartsWithUpper. 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 minuscoli. Il metodo Char.IsUpper(Char) restituisce true se un carattere è maiuscolo.

    StartsWithUpper viene implementato come metodo di estensione in modo da poterlo chiamare come se fosse membro della classe String. Il punto interrogativo (?) dopo string nel codice C# indica che la stringa può essere null.

  5. Nella barra dei menu selezionare Compila>Compila soluzione oppure premere CTRL+MAIUSC+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.

  1. Aggiungere una nuova applicazione console .NET denominata "ShowCase" alla soluzione.

    1. Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Aggiungi>Nuovo progetto.

    2. 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.

    3. Scegliere il modello applicazione console e quindi scegliere Avanti.

    4. Nella pagina Configura il nuovo progetto immettere ShowCase nella casella Nome progetto. Scegliere quindi Avanti.

    5. Nella pagina Informazioni aggiuntive selezionare .NET 6 (supporto a lungo termine) nella casella Framework. Scegli quindi Crea.

  2. Nella finestra del codice per il file Program.cs o Program.vb sostituire tutto il codice con il codice seguente.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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 il 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 di chiamare i metodi nella libreria di classi, creare un riferimento al progetto di libreria di classi.

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul nodo dipendenze del progetto ShowCase e selezionare Aggiungi riferimento al progetto.

    Add reference context menu in Visual Studio

  2. Nella finestra di dialogo Gestione riferimenti selezionare il progetto StringLibrary e selezionare OK.

    Reference Manager dialog with StringLibrary selected

Eseguire l'app

  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto ShowCase e selezionare Imposta come progetto di avvio nel menu di scelta rapida.

    Visual Studio project context menu to set startup project

  2. Premere CTRL+F5 per compilare ed eseguire il programma senza eseguire il debug.

  3. Provare il programma immettendo stringhe e premendo INVIO, quindi premere INVIO per uscire.

    Console window with ShowCase running

Risorse aggiuntive

Passaggi successivi

In questa esercitazione è stata creata una libreria di classi. Nell'esercitazione successiva si apprenderà come eseguire unit test della libreria di classi.

In alternativa, è possibile ignorare gli unit test automatizzati e imparare a condividere la libreria creando un pacchetto NuGet:

In alternativa, vedere come pubblicare un'app console. Se si pubblica l'app console dalla soluzione creata in questa esercitazione, la libreria di classi viene usata come file .dll.