Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In deze tutorial maakt u een eenvoudige bibliotheek die één methode voor het bewerken van tekenreeksen bevat.
Een klassebibliotheek definieert typen en methoden die worden aangeroepen door een toepassing. Als de bibliotheek is gericht op .NET Standard 2.0, kan deze worden aangeroepen door elke .NET-implementatie (inclusief .NET Framework) die ondersteuning biedt voor .NET Standard 2.0. Als de bibliotheek is gericht op .NET 10, kan deze worden aangeroepen door elke toepassing die is gericht op .NET 10. In deze handleiding leert u hoe u zich kunt richten op .NET 10.
Wanneer u een klassebibliotheek maakt, kunt u deze distribueren als een onderdeel van derden of als een gebundeld onderdeel met een of meer toepassingen.
Vereiste voorwaarden
Visual Studio met de .NET desktopontwikkeling workload geïnstalleerd. De .NET SDK wordt automatisch geïnstalleerd wanneer u deze workload selecteert.
Zie
Install the .NET SDK with Visual Studio (De .NET SDK installeren met Visual Studio
- De nieuwste .NET SDK
- Visual Studio Code editor
- De C# DevKit
Installatie-instructies
Op Windows wordt dit WinGet-configuratiebestand gebruikt om alle vereisten te installeren. Als u al iets hebt geïnstalleerd, slaat WinGet die stap over.
- Download het bestand en dubbelklik erop om het uit te voeren.
- Lees de gebruiksrechtovereenkomst, typ yen selecteer Enter wanneer u wordt gevraagd om te accepteren.
- Als u een knipperende UAC-prompt (User Account Control) krijgt op de taakbalk, staat u de installatie toe om door te gaan.
Op andere platforms moet u elk van deze onderdelen afzonderlijk installeren.
- Download het aanbevolen installatieprogramma op de downloadpagina van de .NET SDK en dubbelklik erop om het uit te voeren. De downloadpagina detecteert uw platform en raadt het meest recente installatieprogramma voor uw platform aan.
- Download het meest recente installatieprogramma op de startpagina van Visual Studio Code en dubbelklik erop om het uit te voeren. Deze pagina detecteert ook uw platform en de koppeling moet juist zijn voor uw systeem.
- Klik op de knop Installeren op de pagina C# DevKit extensie. Hiermee wordt Visual Studio code geopend en wordt gevraagd of u de extensie wilt installeren of inschakelen. Selecteer 'installeren'.
- Een GitHub-account voor het gebruik van GitHub Codespaces. Als u nog geen account hebt, kunt u een gratis account maken op GitHub.com.
Een oplossing maken
Begin met het maken van een lege oplossing voor het opslaan van het klassebibliotheekproject. Een Visual Studio-oplossing fungeert als een container voor een of meer projecten. Gerelateerde projecten toevoegen aan dezelfde oplossing.
Om de lege oplossing te maken:
Start Visual Studio.
Kies in het startvenster Een nieuw project maken.
Op de pagina Maak een nieuw project aan, voert u oplossing in het zoekvak in. Kies de sjabloon Lege oplossing en kies vervolgens Volgende.
Op de pagina Uw nieuwe project configureren voert u ClassLibraryProjects in het vak Naam van de oplossing in. Kies vervolgens Creëer.
Begin met het maken van een .NET klassebibliotheekproject met de naam StringLibrary en een bijbehorende oplossing. Een oplossing fungeert als een container voor een of meer projecten. U voegt extra gerelateerde projecten toe aan dezelfde oplossing.
Visual Studio Code starten.
Ga naar de verkennerweergave en selecteer Maak .NET Project. U kunt ook het opdrachtenpalet openen met Ctrl+Shift+P (Command+Shift+P in MacOS) en vervolgens '.NET' typen en de opdracht .NET: Nieuw project zoeken en selecteren.
Kies de projectsjabloon Klassenbibliotheek.
Selecteer vervolgens de locatie waar u het nieuwe project wilt maken: Maak een map met de naam en selecteer het.
Geef het project de naam StringLibrary.
Selecteer .sln als de bestandsindeling van de oplossing.
Selecteer Alle sjabloonopties weergeven.
Selecteer vervolgens .NET 10. Selecteer Vervolgens Project maken.
In het dialoogvenster Vertrouwt u de auteurs van de bestanden in deze map? selecteert u Ja, ik vertrouw de auteurs. U kunt de auteurs vertrouwen omdat deze map alleen bestanden bevat die zijn gegenereerd door .NET en door u zijn toegevoegd of gewijzigd.
Begin met het maken van een GitHub Codespace met de zelfstudieomgeving en maak vervolgens een .NET klassebibliotheekproject.
Open een browservenster en navigeer naar de zelfstudiecodespace-opslagplaats.
Selecteer de groene knop Code en vervolgens het tabblad Codespaces .
Selecteer het teken of de groene Codespace maken op main knop om een nieuwe Codespace te maken met behulp van deze omgeving.
Een nieuwe Codespace maken vanuit de opslagplaats voor zelfstudies
Wanneer uw codespace wordt geladen, opent u de terminal en gaat u naar de map met zelfstudies:
cd tutorialsMaak een nieuw klassebibliotheekproject:
dotnet new classlib -n StringLibrary
Een klassebibliotheekproject maken
Voeg een nieuw .NET-klassebibliotheekproject toe met de naam StringLibrary aan de oplossing.
Klik met de rechtermuisknop op de oplossing in Solution Explorer en selecteer Toevoegen>Nieuw project.
Voer op de pagina Een nieuw project toevoegen in het zoekvak bibliotheek in. Kies C# of Visual Basic in de lijst Taal en kies vervolgens Alle platforms in de lijst Platform. Kies de klassebibliotheek sjabloon en kies vervolgens Volgende.
Op de pagina Je nieuwe project configureren voer je StringLibrary in het vak Projectnaam in en kies je volgende.
Selecteer op de pagina Additional information.NET 10 en kies Create.
Controleer of de bibliotheek is gericht op de juiste versie van .NET. Klik met de rechtermuisknop op het bibliotheekproject in Solution Explorer en selecteer Eigenheden. In het tekstvak Target Framework ziet u dat het project is gericht op .NET 10,0.
Als u Visual Basic gebruikt, wis de tekst in het tekstvak Default-naamruimte.
Project-eigenschappen voor de klassebibliotheek
Voor elk project maakt Visual Basic automatisch een naamruimte die overeenkomt met de projectnaam. In deze zelfstudie definieert u een naamruimte op het hoogste niveau met behulp van het trefwoord in het codebestand.
Vervang de code in het codevenster voor Class1.cs of Class1.vb door de volgende code en sla het bestand op. Als de taal die u wilt gebruiken niet wordt weergegeven, wijzigt u de taalkiezer boven aan de pagina.
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 NamespaceDe klassebibliotheek, , bevat een methode met de naam . Deze methode retourneert een -waarde die aangeeft of het huidige tekenreeks begint met een hoofdletter. De Unicode-standaard onderscheidt hoofdletters van kleine letters. De methode retourneert als een teken hoofdletters bevat.
wordt geïmplementeerd als een extensiemethode, zodat u deze kunt aanroepen alsof deze lid is van de -klasse. Het vraagteken () na in de C#-code geeft aan dat de tekenreeks null kan zijn.
Selecteer in de menubalk BuildBuild Solution of druk op CtrlShiftB om te controleren of het project zonder fouten wordt gecompileerd.
Het project wordt gemaakt en Class1.cs wordt geopend.
Vervang de inhoud van Class1.cs door de volgende code:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }De klassebibliotheek, , bevat een methode met de naam . Deze methode retourneert een -waarde die aangeeft of het huidige tekenreeks begint met een hoofdletter. De Unicode-standaard onderscheidt hoofdletters van kleine letters. De methode retourneert als een teken hoofdletters bevat.
wordt geïmplementeerd als een extensiemethode, zodat u deze kunt aanroepen alsof deze lid is van de -klasse.
Sla het bestand op.
Vouw Solution Explorer onderaan de weergave Explorer uit.
Klik met de rechtermuisknop op de oplossing in Solution Explorer en selecteer Build of open het opdrachtenpalet en selecteer .NET: Build om de oplossing te bouwen en te controleren of het project zonder fouten compileert.
De terminaluitvoer ziet eruit als in het volgende voorbeeld:
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
Navigeer naar de map StringLibrary:
cd StringLibraryOpen Class1.cs en vervang de inhoud door de volgende code:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }De klassebibliotheek, , bevat een methode met de naam . Deze methode retourneert een -waarde die aangeeft of het huidige tekenreeks begint met een hoofdletter. De Unicode-standaard onderscheidt hoofdletters van kleine letters. De methode retourneert als een teken hoofdletters bevat.
wordt geïmplementeerd als een extensiemethode, zodat u deze kunt aanroepen alsof deze lid is van de -klasse.
Sla het bestand op en bouw het project:
dotnet buildDe build moet slagen zonder fouten.
Een console-app toevoegen aan de oplossing
Voeg een consoletoepassing toe die gebruikmaakt van de klassebibliotheek. De app vraagt de gebruiker om een tekenreeks in te voeren en te rapporteren of de tekenreeks begint met een hoofdletter.
Voeg een nieuwe .NET-consoletoepassing toe met de naam ShowCase aan de oplossing.
Klik met de rechtermuisknop op de oplossing in Solution Explorer en selecteer Toevoegen>Nieuw project.
Voer op de pagina Een nieuw project toevoegen console in het zoekvak in. Kies C# of Visual Basic in de lijst Taal en kies vervolgens Alle platforms in de lijst Platform.
Kies de Console-applicatiesjabloon en kies daarna Volgende.
Voer op de pagina Configureer uw nieuwe projectShowCase in het vak Projectnaam in. Kies Volgende om door te gaan.
Selecteer op de pagina Aanvoeglijke gegevens.NET 10 in het vak Framework. Kies vervolgens Creëer.
Vervang in het codevenster voor het bestand Program.cs of Program.vb alle code door de volgende code.
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 ModuleDe code maakt gebruik van de variabele voor het bijhouden van het aantal rijen met gegevens dat naar het consolevenster is geschreven. Wanneer dit groter is dan of gelijk is aan 25, wordt het consolevenster gewist en wordt een bericht aan de gebruiker getoond.
Het programma vraagt de gebruiker om een tekenreeks in te voeren. Hiermee wordt aangegeven of de tekenreeks begint met een hoofdletter. Als de gebruiker op de Enter-toets drukt zonder een tekenreeks in te voeren, wordt de toepassing beëindigd en wordt het consolevenster gesloten.
Klik met de rechtermuisknop op de oplossing in Solution Explorer en selecteer Nieuw project of selecteer in het opdrachtenpalet .NET: Nieuw project.
Selecteer Console-app.
Geef deze de naam ShowCase, selecteer de standaardmap en selecteer Project maken.
Open ShowCase/Program.cs en vervang alle code door de volgende code.
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; }De code maakt gebruik van de variabele voor het bijhouden van het aantal rijen met gegevens dat naar het consolevenster is geschreven. Wanneer dit groter is dan of gelijk is aan 25, wordt het consolevenster gewist en wordt een bericht aan de gebruiker getoond.
Het programma vraagt de gebruiker om een tekenreeks in te voeren. Hiermee wordt aangegeven of de tekenreeks begint met een hoofdletter. Als de gebruiker op de Enter-toets drukt zonder een tekenreeks in te voeren, wordt de toepassing beëindigd en wordt het consolevenster gesloten.
Sla uw wijzigingen op.
Navigeer terug naar de map handleidingen en maak een nieuwe console-applicatie:
cd .. dotnet new console -n ShowCaseOpen ShowCase/Program.cs en vervang alle code door de volgende code:
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; }De code maakt gebruik van de variabele voor het bijhouden van het aantal rijen met gegevens dat naar het consolevenster is geschreven. Wanneer dit groter is dan of gelijk is aan 25, wordt het consolevenster gewist en wordt een bericht aan de gebruiker getoond.
Het programma vraagt de gebruiker om een tekenreeks in te voeren. Hiermee wordt aangegeven of de tekenreeks begint met een hoofdletter. Als de gebruiker op de Enter-toets drukt zonder een tekenreeks in te voeren, wordt de toepassing beëindigd en wordt het consolevenster gesloten.
Sla uw wijzigingen op.
Een projectreferentie toevoegen
In eerste instantie heeft het nieuwe console-app-project geen toegang tot de klassebibliotheek. Als u wilt toestaan dat methoden in de klassebibliotheek worden aangeroepen, maakt u een projectreferentie naar het klassebibliotheekproject.
Klik in Solution Explorer met de rechtermuisknop op het project
ShowCaseknooppunt Afhankelijkheden en selecteer Projectverwijzing toevoegen.
Selecteer in het dialoogvenster Reference Manager het project StringLibrary en selecteer OK.
dialoogvenster Reference Manager met StringLibrary geselecteerd
Klik in Solution Explorer met de rechtermuisknop op het project ShowCase en selecteer Toevoeging van project.
Selecteer StringLibrary.
Aanbeveling
U kunt ook het volgende toevoegen aan ShowCase.csproj:
<ItemGroup>
<ProjectReference Include="..\StringLibrary\StringLibrary.csproj" />
</ItemGroup>
Voeg een verwijzing naar het StringLibrary-project toe vanuit het ShowCase-project:
cd ShowCase
dotnet add reference ../StringLibrary/StringLibrary.csproj
De app uitvoeren
Klik in Solution Explorer met de rechtermuisknop op het project ShowCase en selecteer Set as StartUp Project in het snelmenu.
Druk op CtrlF5- om het programma te compileren en uit te voeren zonder foutopsporing.
Probeer het programma uit door tekenreeksen in te voeren en op Enter-te drukken en druk vervolgens op Enter- om af te sluiten.
Consolevenster waarin ShowCase wordt uitgevoerd
Gebruik de bovenste menubalk om UitvoerenUitvoeren zonder foutopsporing te selecteren.
Selecteer C#.
Selecteer C#: ShowCase.
Als er een foutbericht wordt weergegeven dat er geen C#-programma is geladen, sluit u de map die u hebt geopend en opent u de map. Voer vervolgens de app opnieuw uit.
Probeer het programma uit door tekenreeksen in te voeren en op Enter-te drukken en druk vervolgens op Enter- om af te sluiten.
De terminaluitvoer ziet eruit als in het volgende voorbeeld:
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
Voer de ShowCase-app uit:
dotnet runProbeer het programma uit door tekenreeksen in te voeren en op Enter-te drukken en druk vervolgens op Enter- om af te sluiten.
De terminaluitvoer ziet eruit als in het volgende voorbeeld:
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
Aanvullende bronnen
- Ontwikkelingsbibliotheken met de .NET CLI
- .NET Standard-versies en de platforms die ze ondersteunen.
Middelen opschonen
GitHub uw Codespace automatisch verwijdert na 30 dagen inactiviteit. Als u van plan bent om meer tutorials uit deze serie te volgen, kunt u uw Codespace geconfigureerd laten. Als u klaar bent om de .NET-site te bezoeken om de .NET SDK te downloaden, kunt u uw Codespace verwijderen. Als u uw Codespace wilt verwijderen, opent u een browservenster en gaat u naar uw Codespaces. U ziet een lijst met uw codespaces in het venster. Selecteer de drie puntjes () in de vermelding voor de zelfstudiecoderuimte. Selecteer vervolgens Verwijderen.
Volgende stappen
In deze handleiding hebt u een klassebibliotheek gemaakt. In de volgende tutorial leert u hoe u de classbibliotheek te testen.
U kunt ook geautomatiseerde eenheidstests overslaan en leren hoe u de bibliotheek deelt door een NuGet-pakket te maken:
Of leer hoe u een console-app publiceert. Als u de console-app publiceert op basis van de oplossing die u in deze handleiding hebt gemaakt, wordt de klassebibliotheek samen ermee als een .dll-bestand meegeleverd.