Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto kurzu vytvoříte jednoduchou knihovnu nástrojů, 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 jakákoli .NET implementace (včetně .NET Framework), která podporuje .NET Standard 2.0. Pokud knihovna cílí na .NET 10, může ji volat libovolná aplikace, která cílí .NET 10. V tomto kurzu se dozvíte, jak cílit na .NET 10.
Když vytvoříte knihovnu tříd, můžete ji distribuovat jako komponentu třetí strany nebo jako součást se sadou s jednou nebo více aplikacemi.
Předpoklady
Visual Studio s nainstalovanou pracovní zátěží desktopového vývoje .NET. Sada .NET SDK se automaticky nainstaluje při výběru této úlohy.
Další informace najdete v tématu Instalace sady .NET SDK s Visual Studio.
- Nejnovější .NET SDK
- Editor Visual Studio Code
- C# DevKit
Pokyny k instalaci
Ve Windows použijte tento WinGet konfigurační soubor k instalaci všech požadavků. Pokud už máte něco nainstalovaného, WinGet tento krok přeskočí.
- Stáhněte soubor a poklikáním ho spusťte.
- Přečtěte si licenční smlouvu, zadejte ya po zobrazení výzvy k přijetí vyberte Enter.
- Pokud se na hlavním panelu zobrazí výzva řízení uživatelských účtů (UAC), povolte instalaci pokračovat.
Na jiných platformách je potřeba nainstalovat každou z těchto komponent samostatně.
- Stáhněte si doporučený instalační program ze stránky pro stažení sady .NET SDK a poklikáním ho spusťte. Stránka pro stažení zjistí vaši platformu a doporučí nejnovější instalační program pro vaši platformu.
- Stáhněte si nejnovější instalační program z domovské stránky Visual Studio Code a poklikáním ho spusťte. Tato stránka také zjistí vaši platformu a odkaz by měl být pro váš systém správný.
- Na stránce rozšíření C# DevKit klikněte na tlačítko Nainstalovat. Tím se otevře Visual Studio kód a zobrazí se dotaz, jestli chcete rozšíření nainstalovat nebo povolit. Vyberte "nainstalovat".
- Účet GitHub pro použití GitHub Codespaces. Pokud ho ještě nemáte, můžete si vytvořit bezplatný účet na GitHub.com.
Vytvoření řešení
Začněte vytvořením prázdného řešení pro uložení projektu knihovny tříd. Řešení Visual Studio slouží jako kontejner pro jeden nebo více projektů. Přidejte do stejného řešení související projekty.
Pro vytvoření prázdného řešení:
Spusťte Visual Studio.
V úvodním okně zvolte Vytvořit nový projekt.
Na stránce Vytvořit nový projekt zadejte do vyhledávacího pole řešení. Zvolte šablonu Prázdné řešení a poté zvolte Další.
Na stránce Konfigurovat nový projekt zadejte ClassLibraryProjects do pole Název řešení . Pak zvolte Vytvořit.
Začněte vytvořením projektu knihovny tříd .NET s názvem StringLibrary a přidruženým řešením. Řešení slouží jako kontejner pro jeden nebo více projektů. Do stejného řešení přidáte další související projekty.
Spusťte Visual Studio Code.
Přejděte do zobrazení Průzkumníka a vyberte Vytvořit .NET projekt. Případně můžete paletu příkazů vyvolat pomocí ctrl+Shift+P (Command+Shift+P v macOS) a pak zadat ".NET" a najít a vybrat .NET: Příkaz Nový projekt.
Zvolte šablonu projektu Knihovna tříd.
Pak vyberte umístění, kam chcete vytvořit nový projekt: Vytvořte složku s názvem
ClassLibraryProjectsa vyberte ji.Pojmenujte projekt StringLibrary.
Jako formát souboru řešení vyberte .sln .
Vyberte Zobrazit všechny možnosti šablony.
Pak vyberte .NET 10. Pak vyberte Vytvořit projekt.
V dialogovém okně Důvěřujete autorům souborů v této složce? Vyberte Ano, důvěřuji autorům. Autorům můžete důvěřovat, protože tato složka obsahuje jenom soubory vygenerované .NET a přidané nebo upravené vámi.
Začněte vytvořením GitHub Codespace s prostředím kurzu a pak vytvořte projekt knihovny tříd .NET.
Otevřete okno prohlížeče a přejděte do úložiště tutorial codespace.
Vyberte zelené tlačítko Kód a pak kartu Codespaces .
Výběrem znaménka
+nebo zeleného create codespace na hlavním tlačítku vytvořte nový Codespace pomocí tohoto prostředí.
Když se váš codespace načte, otevřete terminál a přejděte do složky tutorials:
cd tutorialsVytvořte nový projekt knihovny tříd:
dotnet new classlib -n StringLibrary
Vytvořte projekt knihovny tříd
Do řešení přidejte nový projekt knihovny tříd .NET s názvem StringLibrary.
Klikněte pravým tlačítkem na řešení v Solution Explorer a vyberte Přidat>Nový projekt.
Na stránce Přidat nový projekt zadejte do vyhledávacího pole knihovnu . V seznamu Jazyků zvolte C# nebo Visual Basic a pak v seznamu Platformy zvolte Všechny platformy. Zvolte šablonu Knihovna tříd a pak zvolte Další.
Na stránce Konfigurovat nový projekt zadejte StringLibrary do pole Název projektu a pak zvolte Další.
Na stránce Přidatné informace vyberte .NET 10 a pak zvolte Create.
Zkontrolujte, jestli knihovna cílí na správnou verzi .NET. Pravým tlačítkem myši klikněte na projekt knihovny v Solution Explorer a pak vyberte Properties. Textové pole Target Framework ukazuje, že projekt cílí .NET 10.0.
Pokud používáte Visual Basic, vymažte text v textovém poli Default.
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
namespaceslova v souboru kódu.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 NamespaceKnihovna tříd,
UtilityLibraries.StringLibrary, obsahuje metodu nazvanouStartsWithUpper. Tato metoda vrátí hodnotu Boolean, 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.StartsWithUpperse implementuje jako metoda rozšíření , abyste ji mohli volat, jako by byla členem třídy String. Otazník (?) zastringkódem jazyka C# označuje, že řetězec může mít hodnotu null.Na řádku nabídek vyberte Sestavit>Sestavit řešení nebo stiskněte Ctrl+Shift+B k ověření, že se projekt zkompiluje bez chyby.
Projekt se vytvoří a Class1.cs se otevře.
Obsah Class1.cs nahraďte následujícím kódem:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Knihovna tříd,
UtilityLibraries.StringLibrary, obsahuje metodu nazvanouStartsWithUpper. Tato metoda vrátí hodnotu Boolean, 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.StartsWithUpperse implementuje jako metoda rozšíření , abyste ji mohli volat, jako by byla členem třídy String.Uložte soubor.
Rozbalte Solution Explorer v dolní části zobrazení Explorer.
Klikněte pravým tlačítkem na řešení v Solution Explorer a vyberte Build nebo otevřete paletu příkazů a vyberte .NET: Sestavení a ověřte, že se projekt zkompiluje bez chyby.
Výstup terminálu vypadá jako v následujícím příkladu:
Determining projects to restore... All projects are up-to-date for restore. StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net10.0\StringLibrary.dll Build succeeded. 0 Warning(s) 0 Error(s) Time Elapsed 00:00:02.78
Přejděte do složky StringLibrary:
cd StringLibraryOtevřete Class1.cs a nahraďte jeho obsah následujícím kódem:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Knihovna tříd,
UtilityLibraries.StringLibrary, obsahuje metodu nazvanouStartsWithUpper. Tato metoda vrátí hodnotu Boolean, 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.StartsWithUpperse implementuje jako metoda rozšíření , abyste ji mohli volat, jako by byla členem třídy String.Uložte soubor a sestavte projekt:
dotnet buildSestavení by mělo proběhnout úspěšně bez chyb.
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.
Do řešení přidejte novou konzolovou aplikaci .NET s názvem ShowCase.
Klikněte pravým tlačítkem na řešení v Solution Explorer a vyberte Přidat>Nový projekt.
Na stránce Přidat nový projekt zadejte do vyhledávacího pole konzolu . V seznamu Jazyků zvolte C# nebo Visual Basic a pak v seznamu Platformy zvolte Všechny platformy.
Zvolte šablonu konzolové aplikace
a pak zvolte Další .Na stránce Konfigurovat nový projekt zadejte do pole Název projektushowCase. Pak zvolte Další.
Na stránce Přidatné informace vyberte .NET 10 v poli Framework. Pak zvolte Vytvořit.
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; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(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 ModuleKód používá proměnnou
rowk 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í textu. Určuje, zda řetězec začíná velkým písmenem. Pokud uživatel stiskne klávesu Enter bez zadání řetězce, aplikace skončí a okno konzoly se zavře.
Klikněte pravým tlačítkem na řešení v Solution Explorer a vyberte Nový projekt nebo v paletě příkazů vyberte .NET: Nový projekt.
Vyberte konzolovou aplikaci.
Pojmenujte showCase, vyberte výchozí adresář a vyberte Vytvořit projekt.
Otevřete ShowCase/Program.cs a nahraďte veškerý kód následujícím kódem.
using System; using UtilityLibraries; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(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; }Kód používá proměnnou
rowk 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í textu. Určuje, zda řetězec začíná velkým písmenem. Pokud uživatel stiskne klávesu Enter bez zadání řetězce, aplikace skončí a okno konzoly se zavře.
Uložte provedené změny.
Vraťte se do složky kurzů a vytvořte novou konzolovou aplikaci:
cd .. dotnet new console -n ShowCaseOtevřete ShowCase/Program.cs a nahraďte veškerý kód následujícím kódem:
using System; using UtilityLibraries; int row = 0; do { if (row == 0 || row >= 25) ResetConsole(); string? input = Console.ReadLine(); if (string.IsNullOrWhiteSpace(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; }Kód používá proměnnou
rowk 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í textu. Určuje, zda řetězec začíná velkým písmenem. Pokud uživatel stiskne klávesu Enter bez zadání řetězce, aplikace skončí a okno konzoly se zavře.
Uložte provedené změny.
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.
V Solution Explorer klikněte pravým tlačítkem na uzel
ShowCaseprojekt Dependencies a vyberte Přidat referenční informace k projektu.
V dialogovém okně Správce odkazů vyberte projekt StringLibrary a vyberte OK.
V Solution Explorer klikněte pravým tlačítkem na projekt ShowCase a vyberte Přidat odkaz na projekt.
Vyberte StringLibrary.
Návod
Případně přidejte následující položky do souboru ShowCase.csproj:
<ItemGroup>
<ProjectReference Include="..\StringLibrary\StringLibrary.csproj" />
</ItemGroup>
Přidejte odkaz na projekt StringLibrary z projektu ShowCase:
cd ShowCase
dotnet add reference ../StringLibrary/StringLibrary.csproj
Spuštění aplikace
V Solution Explorer klikněte pravým tlačítkem na projekt ShowCase a v místní nabídce vyberte Set as StartUp Project.
Stisknutím kláves Ctrl+F5 zkompilujte a spusťte program bez ladění.
Vyzkoušejte program zadáním řetězců a stisknutím klávesy Entera stisknutím klávesy Enter ukončete.
Pomocí horního řádku nabídek vyberte Spustit>Spustit bez ladění.
Vyberte C#.
Vyberte C#: ShowCase.
Pokud se zobrazí chyba s informací, že není načten žádný program jazyka C#, zavřete složku, kterou jste otevřeli, a otevřete složku
ShowCase. Pak zkuste aplikaci spustit znovu.Vyzkoušejte program zadáním řetězců a stisknutím klávesy Entera stisknutím klávesy Enter ukončete.
Výstup terminálu vypadá jako v následujícím příkladu:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Spusťte aplikaci ShowCase:
dotnet runVyzkoušejte program zadáním řetězců a stisknutím klávesy Entera stisknutím klávesy Enter ukončete.
Výstup terminálu vypadá jako v následujícím příkladu:
Press <Enter> only to exit; otherwise, enter a string and press <Enter>: A string that starts with an uppercase letter Input: A string that starts with an uppercase letter Begins with uppercase? : Yes a string that starts with a lowercase letter Input: a string that starts with a lowercase letter Begins with uppercase? : No
Dodatečné zdroje
Úklid zdrojů
GitHub automaticky odstraní váš Codespace po 30 dnech nečinnosti. Pokud plánujete prozkoumat další tutoriály z této série, můžete ponechat Codespace zřízený. Pokud jste připraveni navštívit web .NET ke stažení sady .NET SDK, můžete svůj Codespace odstranit. Pokud chcete odstranit Codespace, otevřete okno prohlížeče a přejděte do služby Codespaces. V okně se zobrazí seznam Codespaces. Vyberte tři tečky (...) v položce naučného výukového prostředí codespace. Pak vyberte Odstranit.
Další kroky
V tomto kurzu jste vytvořili knihovnu tříd. V dalším kurzu se dozvíte, jak jednotkově testovat knihovnu tříd.
Nebo můžete přeskočit automatizované testování jednotek a naučit se sdílet knihovnu vytvořením balíčku NuGet:
Nebo se dozvíte, jak publikovat konzolovou aplikaci. Pokud zveřejníte konzolovou aplikaci ze řešení vytvořeného v tomto tutoriálu, knihovna tříd se s ní publikuje jako soubor .dll.
Publikovat .NET konzolovou aplikaci