Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här handledningen skapar du ett enkelt hjälpbibliotek som innehåller en enda stränghanteringsmetod.
Ett klassbibliotek definierar typer och metoder som anropas av ett program. Om biblioteket riktar in sig på .NET Standard 2.0 kan det anropas av alla .NET implementeringar (inklusive .NET Framework) som stöder .NET Standard 2.0. Om biblioteket riktar sig mot .NET 10 kan det anropas av alla applikationer som riktar sig mot .NET 10. Den här självstudien visar hur du riktar in dig på .NET 10.
När du skapar ett klassbibliotek kan du distribuera det som en komponent från tredje part eller som en paketerad komponent med ett eller flera program.
Förutsättningar
Visual Studio med arbetsbelastningen .NET-skrivbordsutveckling installerad. .NET SDK installeras automatiskt när du väljer den här arbetsbelastningen.
Mer information finns i Installera .NET SDK med Visual Studio.
- Den senaste .NET SDK
- Visual Studio Code-redigerare
- C# DevKit
Installationsanvisningar
På Windows används WinGet-konfigurationsfilen för att installera alla förutsättningar. Om du redan har något installerat hoppar WinGet över det steget.
- Ladda ned filen och dubbelklicka för att köra den.
- Läs licensavtalet, skriv yoch välj Ange när du uppmanas att acceptera.
- Om du får en flashande UAC-fråga (User Account Control) i aktivitetsfältet tillåter du att installationen fortsätter.
På andra plattformar måste du installera var och en av dessa komponenter separat.
- Ladda ned det rekommenderade installationsprogrammet från nedladdningssidan .NET SDK och dubbelklicka för att köra det. Nedladdningssidan identifierar din plattform och rekommenderar den senaste installationsprogrammet för din plattform.
- Ladda ned det senaste installationsprogrammet från startsidan Visual Studio Code och dubbelklicka för att köra det. Den sidan identifierar även din plattform och länken bör vara korrekt för ditt system.
- Klicka på knappen "Installera" på sidan C# DevKit tillägg. Det öppnar Visual Studio kod och frågar om du vill installera eller aktivera tillägget. Välj "installera".
- Ett GitHub konto som ska använda GitHub Codespaces. Om du inte redan har ett konto kan du skapa ett kostnadsfritt konto på GitHub.com.
Skapa en lösning
Börja med att skapa en tom lösning som innehåller klassbiblioteksprojektet. En Visual Studio lösning fungerar som en container för ett eller flera projekt. Lägg till relaterade projekt i samma lösning.
Så här skapar du den tomma lösningen:
Starta Visual Studio.
I startfönstret väljer du Skapa ett nytt projekt.
På sidan Skapa ett nytt projekt anger du lösningen i sökrutan. Välj mallen Tom lösning och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ClassLibraryProjects i rutan Lösningsnamn . Välj sedan Skapa.
Börja med att skapa ett .NET klassbiblioteksprojekt med namnet "StringLibrary" och en associerad lösning. En lösning fungerar som en container för ett eller flera projekt. Du lägger till ytterligare relaterade projekt i samma lösning.
Starta Visual Studio Code.
Gå till utforskarvyn och välj Skapa .NET Project. Du kan också ta upp kommandopaletten med Ctrl+Skift+P (Kommando+Skift+P på MacOS) och sedan skriva ".NET" och leta upp och välja kommandot .NET: Nytt projekt.
Välj klassbiblioteket för projektmallen.
Välj sedan den plats där du vill att det nya projektet ska skapas: Skapa en mapp med namnet och välj den.
Ge projektet namnet StringLibrary.
Välj .sln som lösningsfilformat.
Välj Visa alla mallalternativ.
Välj sedan .NET 10. Välj sedan Skapa projekt.
I dialogrutan Litar du på författarna till filerna i den här mappen? väljer du Ja, jag litar på författarna. Du kan lita på författarna eftersom den här mappen bara har filer som genererats av .NET och lagts till eller ändrats av dig.
Börja med att skapa ett GitHub Codespace med självstudiemiljön och skapa sedan ett .NET klassbiblioteksprojekt.
Öppna ett webbläsarfönster och navigera till handledningens codespace-repo.
Välj den gröna kodknappen och sedan fliken Codespaces .
Välj ikonen eller den gröna Skapa kodområde på huvud-knappen för att skapa ett nytt Codespace med den här miljön.
Skapa ett nytt Codespace från tutorial-repositoriet
När kodområdet läses in öppnar du terminalen och går till mappen tutorials:
cd tutorialsSkapa ett nytt klassbiblioteksprojekt:
dotnet new classlib -n StringLibrary
Skapa ett klassbiblioteksprojekt
Lägg till ett nytt .NET klassbiblioteksprojekt med namnet StringLibrary i lösningen.
Högerklicka på lösningen i Prieskumník riešení och välj Lägg till>Nytt projekt.
På sidan Lägg till ett nytt projekt anger du biblioteket i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform. Välj mallen Klassbibliotek och välj sedan Nästa.
På sidan Konfigurera det nya projektet anger du StringLibrary i rutan Projektnamn och väljer sedan Nästa.
På sidan Additional information väljer du .NET 10 och väljer sedan Create.
Kontrollera att biblioteket har rätt version av .NET. Högerklicka på biblioteksprojektet i Prieskumník riešení och välj sedan Egenskaper. Textrutan Target Framework visar att projektet riktar sig mot .NET 10.0.
Om du använder Visual Basic, rensar du texten i textrutan Default namespace.
Projektegenskaper för klassbiblioteket
För varje projekt skapar Visual Basic automatiskt ett namnområde som motsvarar projektnamnet. I den här självstudien definierar du ett toppnivånamnområde med hjälp av nyckelordet i kodfilen.
Ersätt koden i kodfönstret för Class1.cs eller Class1.vb med följande kod och spara filen. Om det språk du vill använda inte visas ändrar du språkväljaren överst på sidan.
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 NamespaceKlassbiblioteket, , innehåller en metod med namnet . Den här metoden returnerar ett värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden returnerar om ett tecken är versaler.
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i klassen. Frågetecknet () efter i C#-koden anger att strängen kan vara null.
På menyraden väljer du Skapabygglösning eller trycker på CtrlSkiftB för att kontrollera att projektet kompileras utan fel.
Projektet skapas och Class1.cs öppnas.
Ersätt innehållet i Class1.cs med följande kod:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Klassbiblioteket, , innehåller en metod med namnet . Den här metoden returnerar ett värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden returnerar om ett tecken är versaler.
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i klassen.
Spara filen.
Expandera Prieskumník riešení längst ned i vyn Explorer.
Högerklicka på lösningen i Prieskumník riešení och välj Build eller öppna kommandopaletten och välj .NET: Build för att skapa lösningen och kontrollera att projektet kompileras utan fel.
Terminalutdata ser ut som i följande exempel:
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
Gå till mappen StringLibrary:
cd StringLibraryÖppna Class1.cs och ersätt innehållet med följande kod:
namespace UtilityLibraries; public static class StringLibrary { public static bool StartsWithUpper(this string? str) { if (string.IsNullOrWhiteSpace(str)) return false; return char.IsUpper(str[0]); } }Klassbiblioteket, , innehåller en metod med namnet . Den här metoden returnerar ett värde som anger om den aktuella stränginstansen börjar med ett versalt tecken. Unicode-standarden skiljer versaler från gemener. Metoden returnerar om ett tecken är versaler.
implementeras som en tilläggsmetod så att du kan anropa den som om den var medlem i klassen.
Spara filen och skapa projektet:
dotnet buildBygget bör lyckas utan fel.
Lägga till en konsolapp i lösningen
Lägg till ett konsolprogram som använder klassbiblioteket. Appen uppmanar användaren att ange en sträng och rapportera om strängen börjar med ett versalt tecken.
Lägg till ett nytt .NET-konsolprogram med namnet ShowCase i lösningen.
Högerklicka på lösningen i Prieskumník riešení och välj Lägg till>Nytt projekt.
På sidan Lägg till ett nytt projekt anger du konsolen i sökrutan. Välj C# eller Visual Basic i listan Språk och välj sedan Alla plattformar i listan Plattform.
Välj mallen Console App och välj sedan Nästa.
På sidan Konfigurera ditt nya projekt anger du ShowCase i rutan Projektnamn . Välj sedan Nästa.
På sidan Additional information väljer du .NET 10 i rutan Framework. Välj sedan Skapa.
I kodfönstret för filen Program.cs eller Program.vb ersätter du all kod med följande kod.
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 ModuleKoden använder variabeln för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.
Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med en stor bokstav. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Högerklicka på lösningen i Prieskumník riešení och välj Nytt projekt, eller välj .NET: Nytt projekt i kommandopaletten.
Välj Konsolapp.
Ge den namnet ShowCase, välj standardkatalogen och välj Skapa projekt.
Öppna ShowCase/Program.cs och ersätt all kod med följande kod.
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; }Koden använder variabeln för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.
Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med en stor bokstav. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Spara dina ändringar.
Gå tillbaka till mappen självstudier och skapa en ny konsolapp:
cd .. dotnet new console -n ShowCaseÖppna ShowCase/Program.cs och ersätt all kod med följande kod:
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; }Koden använder variabeln för att upprätthålla antalet rader med data som skrivits till konsolfönstret. När den är större än eller lika med 25 rensar koden konsolfönstret och visar ett meddelande till användaren.
Programmet uppmanar användaren att ange en sträng. Det anger om strängen börjar med en stor bokstav. Om användaren trycker på Retur utan att ange en sträng avslutas programmet och konsolfönstret stängs.
Spara dina ändringar.
Lägga till en projektreferens
Till en början har det nya konsolappprojektet inte åtkomst till klassbiblioteket. Om du vill tillåta att den anropar metoder i klassbiblioteket skapar du en projektreferens till klassbiblioteksprojektet.
I Prieskumník riešení högerklickar du på noden
ShowCaseprojektets Beroenden och väljer Lägg till projektreferens.
I dialogrutan Referenshanteraren väljer du StringLibrary-projektet och väljer OK.
Dialogrutan för Referenshanteraren med StringLibrary markerad
I Prieskumník riešení högerklickar du på projektet ShowCase och väljer Lägg till projektreferens.
Välj StringLibrary.
Tips/Råd
Du kan också lägga till följande i ShowCase.csproj:
<ItemGroup>
<ProjectReference Include="..\StringLibrary\StringLibrary.csproj" />
</ItemGroup>
Lägg till en referens till StringLibrary-projektet från ShowCase-projektet:
cd ShowCase
dotnet add reference ../StringLibrary/StringLibrary.csproj
Kör appen
I Prieskumník riešení högerklickar du på projektet ShowCase och väljer Set as StartUp Project i snabbmenyn.
Tryck på CtrlF5 för att kompilera och köra programmet utan att felsöka.
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Konsolfönster med ShowCase igång
Använd den översta menyraden om du vill välja Körkör utan att felsöka.
Välj C#.
Välj C#: ShowCase.
Om du får ett felmeddelande om att inget C#-program har lästs in stänger du mappen som du har öppnat och öppnar mappen . Försök sedan att köra appen igen.
Prova programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Terminalutdata ser ut som i följande exempel:
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
Kör ShowCase-appen:
dotnet runProva programmet genom att ange strängar och trycka på Retur och sedan trycka på Retur för att avsluta.
Terminalutdata ser ut som i följande exempel:
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
Ytterligare resurser
Rensa resurser
GitHub tar automatiskt bort kodområdet efter 30 dagars inaktivitet. Om du planerar att utforska fler guider i denna serie kan du låta ditt Codespace vara aktivt. Om du är redo att besöka webbplatsen .NET för att ladda ned .NET SDK kan du ta bort ditt Codespace. Om du vill ta bort ditt Codespace öppnar du ett webbläsarfönster och navigerar till dina Codespaces. Du ser en lista över dina kodområden i fönstret. Välj de tre punkterna () i inlägget för handledningens kodområde. Välj sedan "Ta bort".
Nästa steg
I den här självstudien skapade du ett klassbibliotek. I nästa handledning får du lära dig hur du enhetstestar klassbiblioteket.
Du kan också hoppa över automatiserad enhetstestning och lära dig hur du delar biblioteket genom att skapa ett NuGet-paket:
Eller lär dig hur du publicerar en konsolapp. Om du publicerar konsolappen från lösningen du skapade i den här självstudien följer klassbiblioteket med den som en .dll fil.