Sdílet prostřednictvím


Kurz: Vytvoření knihovny tříd .NET pomocí sady Visual Studio

V tomto kurzu vytvoříte jednoduchou knihovnu tříd, která obsahuje jednu metodu zpracování řetězců.

Knihovna tříd definuje typy a metody volané aplikací. Pokud knihovna cílí na .NET Standard 2.0, může ji volat libovolná implementace .NET (včetně rozhraní .NET Framework), která podporuje .NET Standard 2.0. Pokud knihovna cílí na .NET 8, může ji volat libovolná aplikace, která cílí na .NET 8. V tomto kurzu se dozvíte, jak cílit na .NET 8.

Když vytvoříte knihovnu tříd, můžete ji distribuovat jako balíček NuGet nebo jako komponentu, která je součástí aplikace, která ji používá.

Požadavky

Vytvoření řešení

Začněte vytvořením prázdného řešení pro umístění projektu knihovny tříd do. Řešení sady Visual Studio slouží jako kontejner pro jeden nebo více projektů. Do stejného řešení přidáte související projekty.

Vytvoření prázdného řešení:

  1. Spusťte Visual Studio.

  2. V úvodním okně zvolte Vytvořit nový projekt.

  3. Na stránce Vytvořit nový projekt zadejte řešení do vyhledávacího pole. Zvolte prázdnou šablonu řešení a pak zvolte Další.

    Prázdná šablona řešení v sadě Visual Studio

  4. Na stránce Konfigurovat nový projekt zadejte ClassLibraryProjects do pole Název řešení . Pak zvolte Vytvořit.

Vytvoření projektu knihovny tříd

  1. Do řešení přidejte nový projekt knihovny tříd .NET s názvem StringLibrary.

    1. V Průzkumníku řešení klikněte pravým tlačítkem myši na řešení a vyberte Přidat>nový projekt.

    2. Na stránce Přidat nový projekt zadejte do vyhledávacího pole knihovnu . V seznamu jazyků zvolte jazyk C# nebo Visual Basic a pak v seznamu Platformy zvolte Všechny platformy . Zvolte šablonu Knihovna tříd a pak zvolte Další.

    3. Na stránce Konfigurovat nový projekt zadejte StringLibrary do pole Název projektu a pak zvolte Další.

    4. Na stránce Další informace vyberte .NET 8 a pak zvolte Vytvořit.

  2. Zkontrolujte, jestli knihovna cílí na správnou verzi rozhraní .NET. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt knihovny a pak vyberte Vlastnosti. Textové pole Cílové rozhraní ukazuje, že projekt cílí na .NET 8.0.

  3. Pokud používáte Jazyk Visual Basic, zrušte zaškrtnutí textu v textovém poli Kořenový obor názvů .

    Vlastnosti projektu pro knihovnu tříd

    Pro každý projekt Visual Basic automaticky vytvoří obor názvů, který odpovídá názvu projektu. V tomto kurzu definujete obor názvů nejvyšší úrovně pomocí klíčového namespace slova v souboru kódu.

  4. Nahraďte kód v okně kódu pro Class1.cs nebo Class1.vb následujícím kódem a soubor uložte. Pokud se jazyk, který chcete použít, nezobrazuje, změňte výběr jazyka v horní části stránky.

    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
    

    Knihovna UtilityLibraries.StringLibrarytříd obsahuje metodu s názvem StartsWithUpper. Tato metoda vrátí Boolean hodnotu, která označuje, zda aktuální instance řetězce začíná velkými písmeny. Standard Unicode rozlišuje velká písmena od malých písmen. Metoda Char.IsUpper(Char) vrátí true , pokud je znak velkými písmeny.

    StartsWithUpper je implementována jako rozšiřující metoda , abyste ji mohli volat, jako by byla členem String třídy. Otazník (?) za string kódem jazyka C# označuje, že řetězec může mít hodnotu null.

  5. Na řádku nabídek vyberte Sestavit>řešení nebo stisknutím kombinace kláves Ctrl+Shift+B ověřte, že se projekt zkompiluje bez chyby.

Přidání konzolové aplikace do řešení

Přidejte konzolovou aplikaci, která používá knihovnu tříd. Aplikace vyzve uživatele, aby zadal řetězec a nahlásil, jestli řetězec začíná velkými písmeny.

  1. Přidejte do řešení novou konzolovou aplikaci .NET s názvem ShowCase.

    1. V Průzkumníku řešení klikněte pravým tlačítkem myši na řešení a vyberte Přidat>nový projekt.

    2. Na stránce Přidat nový projekt zadejte do vyhledávacího pole konzolu . V seznamu jazyků zvolte jazyk C# nebo Visual Basic a pak v seznamu Platformy zvolte Všechny platformy .

    3. Zvolte šablonu konzolové aplikace a pak zvolte Další.

    4. Na stránce Konfigurovat nový projekt zadejte do pole Název projektushowCase. Pak zvolte Další.

    5. Na stránce Další informace vyberte v poli Frameworkrozhraní .NET 8. Pak zvolte Vytvořit.

  2. V okně kódu souboru Program.cs nebo Program.vb nahraďte veškerý kód následujícím kódem.

    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
    

    Kód používá proměnnou row k udržování počtu řádků dat zapsaných do okna konzoly. Kdykoli je větší nebo rovna 25, kód vymaže okno konzoly a zobrazí uživateli zprávu.

    Program vyzve uživatele k zadání řetězce. Určuje, zda řetězec začíná velkými písmeny. Pokud uživatel stiskne klávesu Enter bez zadání řetězce, aplikace skončí a okno konzoly se zavře.

Přidání odkazu na projekt

Nový projekt konzolové aplikace zpočátku nemá přístup k knihovně tříd. Pokud chcete povolit volání metod v knihovně tříd, vytvořte odkaz na projekt knihovny tříd.

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na ShowCase uzel Závislosti projektu a vyberte Přidat odkaz na projekt.

    Místní nabídka Přidání odkazu v sadě Visual Studio

  2. V dialogovém okně Správce odkazů vyberte projekt StringLibrary a vyberte OK.

    Dialogové okno Správce odkazů s vybranou možností StringLibrary

Spuštění aplikace

  1. V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt ShowCase a v místní nabídce vyberte Nastavit jako spustit projekt .

    Místní nabídka projektu sady Visual Studio pro nastavení spouštěcího projektu

  2. Stisknutím kláves Ctrl+F5 zkompilujte a spusťte program bez ladění.

  3. Vyzkoušejte program zadáním řetězců a stisknutím klávesy Enter a stisknutím klávesy Enter ukončete.

    Okno konzoly se spuštěným písmenem ShowCase

Dodatečné zdroje

Další kroky

V tomto kurzu jste vytvořili knihovnu tříd. V dalším kurzu se dozvíte, jak knihovnu tříd testovat.

Nebo můžete přeskočit automatizované testování částí a zjistit, jak sdílet knihovnu vytvořením balíčku NuGet:

Nebo se dozvíte, jak publikovat konzolovou aplikaci. Pokud publikujete konzolovou aplikaci z řešení, které jste vytvořili v tomto kurzu, knihovna tříd s ní přejde jako .dll soubor.