Oktatóanyag: .NET-osztálytár létrehozása a Visual Studióval
Ebben az oktatóanyagban egy egyszerű osztálykönyvtárat hoz létre, amely egyetlen szövegkezelési módszert tartalmaz.
A osztálykódtár definiálja az alkalmazás által meghívott típusokat és metódusokat. Ha a kódtár a .NET Standard 2.0-t célozza meg, azt bármely .NET-implementáció meghívhatja (beleértve a .NET-keretrendszert is), amely támogatja a .NET Standard 2.0-t. Ha a kódtár a .NET 8-at célozza, azt bármely olyan alkalmazás meghívhatja, amely a .NET 8-at célozza. Ez az oktatóanyag bemutatja, hogyan célozhatja meg a .NET 8-at.
Osztálykódtár létrehozásakor nuGet-csomagként vagy az azt használó alkalmazáshoz csomagolt összetevőként terjesztheti.
Előfeltételek
Visual Studio 2022 a telepített .NET asztali fejlesztési számítási feladattal. A számítási feladat kiválasztásakor a rendszer automatikusan telepíti a .NET 8 SDK-t.
A további információkért lásd az alábbi pontot: A .NET SDK telepítése a Visual Studio segítségével.
Megoldás létrehozása
Első lépésként hozzon létre egy üres megoldást az osztálytár projektjének elhelyezéséhez. A Visual Studio-megoldások tárolóként szolgálnak egy vagy több projekthez. Ugyanahhoz a megoldáshoz további, kapcsolódó projekteket fog hozzáadni.
Az üres megoldás létrehozása:
Indítsa el a Visual Studiót.
A kezdési ablakban válassza az Új projekt létrehozásalehetőséget.
A Új projekt létrehozása lapon írja be megoldás a keresőmezőbe. Válassza az Üres megoldás sablont, majd válassza a Továbblehetőséget.
Az Új projekt konfigurálása lapon írja be ClassLibraryProjects a Megoldás neve mezőbe. Ezután válassza létrehozása lehetőséget.
Osztálytárprojekt létrehozása
Adjon hozzá egy "StringLibrary" nevű új .NET-osztálytárprojektet a megoldáshoz.
Kattintson a jobb gombbal a megoldásra Megoldáskezelő, és válassza a Hozzáadás>Új projektlehetőséget.
A Új projekt hozzáadása lapon írja be könyvtár a keresőmezőbe. Válassza C# vagy Visual Basic a Nyelv listából, majd válassza a Minden platform lehetőséget a platformlistában. Válassza az Osztálykönyvtár sablont, majd válassza a Továbblehetőséget.
Az Új projekt konfigurálása lapon írja be StringLibrary a Projekt neve mezőbe, majd válassza a Továbblehetőséget.
A További információk lapon válassza a .NET 8-t, majd kattintson a Létrehozásgombra.
Ellenőrizze, hogy a kódtár a .NET megfelelő verzióját célozza-e meg. Kattintson a jobb gombbal a kódtárprojektre Megoldáskezelő, majd válassza a Tulajdonságoklehetőséget. A Target Framework szövegmező azt mutatja, hogy a projekt a .NET 8.0-t célozza.
Ha Visual Basicet használ, törölje a szöveget a Gyökérnévtér szövegmezőből.
A Visual Basic minden projekthez automatikusan létrehoz egy, a projekt nevének megfelelő névteret. Ebben az oktatóanyagban egy legfelső szintű névteret határoz meg a kódfájl
namespace
kulcsszójának használatával.Cserélje le a Class1.cs vagy Class1.vb kódablakában lévő kódot a következő kódra, és mentse a fájlt. Ha a használni kívánt nyelv nem jelenik meg, módosítsa a nyelvválasztót a lap tetején.
using System; namespace UtilityLibraries { public static class StringLibrary { public static bool StartsWithUpper(this string str) { if (string.IsNullOrWhiteSpace(str)) return false; char ch = str[0]; return char.IsUpper(ch); } } }
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
A
UtilityLibraries.StringLibrary
osztálykódtár egyStartsWithUpper
nevű metódust tartalmaz. Ez a metódus egy Boolean értéket ad vissza, amely jelzi, hogy az aktuális sztringpéldány nagybetűvel kezdődik-e. A Unicode szabvány megkülönbözteti a nagybetűket a kisbetűktől. A Char.IsUpper(Char) metódustrue
ad vissza, ha egy karakter nagybetűs.StartsWithUpper
mint bővítménymetódus került megvalósításra, így meg hívhatja, mintha az a String osztályhoz tartozna. A C#-kódbanstring
utáni kérdőjel (?
) azt jelzi, hogy a sztring null értékű lehet.A menüsávon válassza a Build>Build Solution lehetőséget, vagy nyomja le Ctrl+Shift+B billentyűkombinációt a projekt hiba nélküli fordításának ellenőrzéséhez.
Konzolalkalmazás hozzáadása a megoldáshoz
Adjon hozzá egy olyan konzolalkalmazást, amely az osztálytárat használja. Az alkalmazás megkéri a felhasználót, hogy írjon be egy sztringet, és jelentse, hogy a sztring nagybetűvel kezdődik-e.
Adjon hozzá egy "ShowCase" nevű új .NET-konzolalkalmazást a megoldáshoz.
Kattintson a jobb gombbal a megoldásra Megoldáskezelő, és válassza a >Új projekt hozzáadásalehetőséget.
Az Új projekt hozzáadása lapon írja be a konzolt a keresőmezőbe. Válassza C# vagy Visual Basic a Nyelv listából, majd válassza a Minden platform lehetőséget a platformlistában.
Válassza a konzolalkalmazás sablont, majd válassza a Továbblehetőséget.
Az Új projekt konfigurálása oldalon írja be a Projekt neve mezőbe, hogy ShowCase. Ezután válassza a Következőlehetőséget.
A További információk lapon válassza .NET 8 a Keretrendszer mezőben. Ezután válassza létrehozása lehetőséget.
A Program.cs vagy Program.vb fájl kódablakában cserélje le az összes kódot a következő kódra.
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
A kód a
row
változót használja a konzolablakba írt adatsorok számának fenntartásához. Ha 25-nél nagyobb vagy egyenlő, a kód törli a konzolablakot, és üzenetet jelenít meg a felhasználónak.A program kéri a felhasználót, hogy adjon meg egy karakterláncot. Azt jelzi, hogy a karakterlánc nagybetűvel kezdődik-e. Ha a felhasználó sztring beírása nélkül lenyomja az Enter billentyűt, az alkalmazás véget ér, és bezárul a konzolablak.
Projekthivatkozás hozzáadása
Az új konzolalkalmazás-projekt kezdetben nem rendelkezik hozzáféréssel az osztálytárhoz. Ha engedélyezni szeretné, hogy metódusokat hívjon meg az osztálytárban, hozzon létre egy projekthivatkozást az osztálytár projektre.
A Megoldáskezelőbenkattintson a jobb gombbal a
ShowCase
projekt Függőségek csomópontjára, és válassza a Projekthivatkozás hozzáadásalehetőséget.A Reference Manager párbeszédpanelen jelölje ki a StringLibrary projektet, és válassza OKlehetőséget.
Az alkalmazás futtatása
A Megoldáskezelőterületen kattintson a jobb gombbal a ShowCase projektre, és válassza a helyi menüben a Beállítás kezdőprojektként lehetőséget.
A program hibakeresés nélküli fordításához és futtatásához nyomja le a Ctrl+F5 billentyűkombinációt.
Próbálja ki a programot karakterek beírásával és a Enterbillentyű megnyomásával, majd a kilépéshez nyomja meg a Enter billentyűt.
További erőforrások
Következő lépések
Ebben az oktatóanyagban létrehozottál egy osztálykönyvtárat. A következő oktatóanyagban megtanulhatja, hogyan tesztelheti az osztálytárat.
Vagy kihagyhatja az automatizált egységtesztelést, és megtanulhatja, hogyan oszthatja meg a kódtárat Egy NuGet-csomag létrehozásával:
Vagy megtudhatja, hogyan tehet közzé konzolalkalmazást. Ha az oktatóanyagban létrehozott megoldásból teszi közzé a konzolalkalmazást, az osztálytár .dll fájlként használja.