Partager via


Tutoriel : Créer une bibliothèque de classes .NET à l’aide de Visual Studio

Dans ce tutoriel, vous créez une bibliothèque de classes simple qui contient une méthode de gestion de chaîne unique.

Une bibliothèque de classes définit des types et des méthodes appelés par une application. Si la bibliothèque cible .NET Standard 2.0, elle peut être appelée par n’importe quelle implémentation .NET (y compris .NET Framework) qui prend en charge .NET Standard 2.0. Si la bibliothèque cible .NET 8, elle peut être appelée par n’importe quelle application qui cible .NET 8. Ce tutoriel montre comment cibler .NET 8.

Lorsque vous créez une bibliothèque de classes, vous pouvez la distribuer en tant que package NuGet ou en tant que composant groupé avec l’application qui l’utilise.

Prerequisites

Créer une solution

Commencez par créer une solution vide pour placer le projet de bibliothèque de classes. Une solution Visual Studio sert de conteneur pour un ou plusieurs projets. Vous allez ajouter des projets associés à la même solution.

Pour créer la solution vide :

  1. Démarrez Visual Studio.

  2. Dans la fenêtre de démarrage, choisissez Créer un projet.

  3. Dans la page Créer un projet , entrez la solution dans la zone de recherche. Choisissez le modèle Solution vide , puis choisissez Suivant.

    Modèle de solution vide dans Visual Studio

  4. Dans la page Configurer votre nouveau projet , entrez ClassLibraryProjects dans la zone Nom de la solution . Ensuite, choisissez Créer.

Créer un projet de bibliothèque de classes

  1. Ajoutez un nouveau projet de bibliothèque de classes .NET nommé « StringLibrary » à la solution.

    1. Cliquez avec le bouton droit sur la solution dans l’Explorateur de solutions, puis sélectionnez Ajouter>un nouveau projet.

    2. Dans la page Ajouter un nouveau projet , entrez la bibliothèque dans la zone de recherche. Choisissez C# ou Visual Basic dans la liste de langues, puis choisissez Toutes les plateformes dans la liste Plateforme. Choisissez le modèle bibliothèque de classes , puis choisissez Suivant.

    3. Dans la page Configurer votre nouveau projet , entrez StringLibrary dans la zone Nom du projet , puis choisissez Suivant.

    4. Dans la page Informations supplémentaires , sélectionnez .NET 8, puis choisissez Créer.

  2. Vérifiez que la bibliothèque cible la version correcte de .NET. Cliquez avec le bouton droit sur le projet de bibliothèque dans l’Explorateur de solutions, puis sélectionnez Propriétés. La zone de texte Target Framework indique que le projet cible .NET 8.0.

  3. Si vous utilisez Visual Basic, effacez le texte dans la zone de texte espace de noms racine.

    Propriétés du projet pour la bibliothèque de classes

    Pour chaque projet, Visual Basic crée automatiquement un espace de noms qui correspond au nom du projet. Dans ce tutoriel, vous définissez un espace de noms de niveau supérieur à l’aide du namespace mot clé dans le fichier de code.

  4. Remplacez le code dans la fenêtre de code pour Class1.cs ou Class1.vb par le code suivant, puis enregistrez le fichier. Si la langue que vous souhaitez utiliser n’est pas affichée, modifiez le sélecteur de langue en haut de la page.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            return char.IsUpper(str[0]);
        }
    }
    
    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 bibliothèque de classes, UtilityLibraries.StringLibrarycontient une méthode nommée StartsWithUpper. Cette méthode retourne une Boolean valeur qui indique si l’instance de chaîne actuelle commence par un caractère majuscule. La norme Unicode distingue les caractères majuscules des caractères minuscules. La Char.IsUpper(Char) méthode retourne true si un caractère est en majuscules.

    StartsWithUpper est implémenté en tant que méthode d’extension afin que vous puissiez l’appeler comme s’il s’agissait d’un membre de la String classe. Le point d’interrogation (?) après string dans le code C# indique que la chaîne peut être null.

  5. Dans la barre de menus, sélectionnez Générer> ou appuyez sur les touches Ctrl,+, et+ pour vérifier que le projet se compile sans erreur.

Ajouter une application console à la solution

Ajoutez une application console qui utilise la bibliothèque de classes. L’application invite l’utilisateur à entrer une chaîne et à signaler si la chaîne commence par un caractère majuscule.

  1. Ajoutez une nouvelle application console .NET nommée « ShowCase » à la solution.

    1. Cliquez avec le bouton droit sur la solution dans l’Explorateur de solutions, puis sélectionnez Ajouter>un nouveau projet.

    2. Dans la page Ajouter un nouveau projet , entrez la console dans la zone de recherche. Choisissez C# ou Visual Basic dans la liste de langues, puis choisissez Toutes les plateformes dans la liste Plateforme.

    3. Choisissez le modèle d’application console , puis choisissez Suivant.

    4. Dans la page Configurer votre nouveau projet , entrez ShowCase dans la zone Nom du projet . Ensuite, choisissez Suivant.

    5. Dans la page Informations supplémentaires , sélectionnez .NET 8 dans la zone Framework . Ensuite, choisissez Créer.

  2. Dans la fenêtre de code du fichier Program.cs ou Program.vb , remplacez tout le code par le code suivant.

    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
    

    Le code utilise la row variable pour conserver le nombre de lignes de données écrites dans la fenêtre de console. Chaque fois qu’il est supérieur ou égal à 25, le code efface la fenêtre de console et affiche un message à l’utilisateur.

    Le programme invite l’utilisateur à entrer une chaîne. Elle indique si la chaîne commence par un caractère majuscule. Si l’utilisateur appuie sur la touche Entrée sans entrer de chaîne, l’application se termine et la fenêtre de console se ferme.

Ajouter une référence de projet

Initialement, le nouveau projet d’application console n’a pas accès à la bibliothèque de classes. Pour lui permettre d’appeler des méthodes dans la bibliothèque de classes, créez une référence de projet au projet de bibliothèque de classes.

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le ShowCase nœud Dépendances du projet, puis sélectionnez Ajouter une référence de projet.

    Ajouter un menu contextuel de référence dans Visual Studio

  2. Dans la boîte de dialogue Gestionnaire de références , sélectionnez le projet StringLibrary , puis sélectionnez OK.

    Boîte de dialogue Gestionnaire de référence avec StringLibrary sélectionnée

Exécuter l’application

  1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet ShowCase , puis sélectionnez Définir comme projet de démarrage dans le menu contextuel.

    Menu contextuel du projet Visual Studio pour définir le projet de démarrage

  2. Appuyez sur Ctrl+F5 pour compiler et exécuter le programme sans débogage.

  3. Essayez le programme en entrant des chaînes et en appuyant sur Entrée, puis appuyez de nouveau sur Entrée pour quitter.

    Fenêtre console avec ShowCase en cours d’exécution

Ressources supplémentaires

Étapes suivantes

Dans ce tutoriel, vous avez créé une bibliothèque de classes. Dans le tutoriel suivant, vous allez apprendre à tester unitairement la bibliothèque de classes.

Vous pouvez également ignorer les tests unitaires automatisés et apprendre à partager la bibliothèque en créant un package NuGet :

Vous pouvez également apprendre à publier une application console. Si vous publiez l’application console à partir de la solution que vous avez créée dans ce didacticiel, la bibliothèque de classes l’utilise en tant que fichier .dll .