Megosztás a következőn keresztül:


Oktatóanyag: .NET osztálytár létrehozása

Ebben az oktatóanyagban egy egyszerű segédprogramtárat hoz létre, amely egyetlen sztringkezelé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 .NET Standard 2.0-s verziót célozza, akkor bármely olyan .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 10-et célozza meg, akkor bármely alkalmazás meghívhatja, amely a .NET 10-et célozza meg. Ez az oktatóanyag bemutatja, hogyan célozhatja meg .NET 10-et.

Osztálytár létrehozásakor terjesztheti külső összetevőként vagy egy vagy több alkalmazással együtt csomagolt összetevőként.

Előfeltételek

Telepítési utasítások

A Windows rendszerén használja ezt a WinGet konfigurációs fájlt az összes előfeltétel telepítéséhez. Ha már telepített valamit, a WinGet kihagyja ezt a lépést.

  1. Töltse le a fájlt, és kattintson rá duplán a futtatáshoz.
  2. Olvassa el a licencszerződést, írja be y, és válassza Adja meg, amikor a rendszer kéri az elfogadást.
  3. Ha a tálcán megjelenik egy villogó Felhasználói fiókok felügyelete (UAC) kérés, engedélyezze a telepítés folytatását.

Más platformokon külön kell telepítenie ezeket az összetevőket.

  1. Töltse le az ajánlott telepítőt a .NET SDK letöltési oldaláról és kattintson rá duplán a futtatásához. A letöltési oldal észleli a platformot, és a legújabb telepítőt javasolja a platformhoz.
  2. Töltse le a legújabb telepítőt a Visual Studio Code kezdőlapjáról, és kattintson duplán a futtatáshoz. Ez az oldal a platformot is észleli, és a hivatkozásnak helyesnek kell lennie a rendszer számára.
  3. Kattintson a "Telepítés" gombra a C# DevKit bővítménylapon. Ez megnyitja Visual Studio kódot, és megkérdezi, hogy szeretné-e telepíteni vagy engedélyezni a bővítményt. Válassza a "telepítés" lehetőséget.
  • A GitHub Codespaces használatára GitHub fiók. Ha még nem rendelkezik ilyen fiókkal, létrehozhat egy ingyenes fiókot GitHub.com.

Megoldás létrehozása

Először hozzon létre egy üres megoldást az osztálytárprojekt tárolásához. Egy Visual Studio megoldás egy vagy több projekt tárolójaként szolgál. Adjon hozzá kapcsolódó projekteket ugyanahhoz a megoldáshoz.

Az üres megoldás létrehozása:

  1. Indítsa el Visual Studio.

  2. A kezdési ablakban válassza az Új projekt létrehozásalehetőséget.

  3. 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.

    Üres megoldássablon a Visual Studio-ban

  4. Az Új projekt konfigurálása lapon írja be ClassLibraryProjects a Megoldás neve mezőbe. Ezután válassza az létrehozása opciót.

Először hozzon létre egy "StringLibrary" nevű .NET osztálytárprojektet és egy társított megoldást. A megoldás egy vagy több projekt tárolójaként szolgál. Ugyanahhoz a megoldáshoz további, kapcsolódó projekteket fog hozzáadni.

  1. Indítsa el a Visual Studio Code.

  2. Lépjen az Explorer nézetre, és válassza a Hozzon létre .NET projektet lehetőséget. Másik lehetőségként a Ctrl+Shift+P billentyűkombinációval (MacOS-en Command+Shift+P) is létrehozhatja a parancskatalógust, majd beírhatja a ".NET" szöveget, és megkeresheti és kiválaszthatja a .NET: New Project parancsot.

  3. Válassza ki a projektsablon osztálytárát.

  4. Ezután válassza ki azt a helyet, ahol létre szeretné hozni az új projektet: Hozzon létre egy ClassLibraryProjects nevű mappát, és jelölje ki.

  5. Nevezze el a projektet StringLibrary.

  6. Válassza .sln megoldásfájlformátumként.

  7. Válassza az Összes sablonbeállítás megjelenítése lehetőséget.

  8. Ezután válassza a .NET 10 lehetőséget. Ezután válassza a Projekt létrehozása lehetőséget.

  9. A Mappában lévő fájlok szerzőiben megbízik? párbeszédpanelen válassza az Igen, bízom a szerzőkben. Megbízhat a szerzőkben, mert ebben a mappában csak a .NET által létrehozott és Ön által hozzáadott vagy módosított fájlok találhatók.

Először hozzon létre egy GitHub Codespace-t az oktatóanyagi környezettel, majd hozzon létre egy .NET osztálytárprojektet.

  1. Nyisson meg egy böngészőablakot, és keresse meg az oktatóanyag kódterének adattárát.

  2. Válassza a zöld Kód gombot, majd a Codespaces lapot.

  3. Válassza a + fő gomb jelét vagy a zöld Kódtér létrehozása gombot egy új kódtér létrehozásához ezzel a környezettel.

    Új Codespace létrehozása az oktatóanyag-adattárból

  4. Amikor betöltődik a kódtér, nyissa meg a terminált, és lépjen az oktatóanyagok mappába:

    cd tutorials
    
  5. Hozzon létre egy új osztálytárprojektet:

    dotnet new classlib -n StringLibrary
    

Osztálytárprojekt létrehozása

  1. Adjon hozzá egy új .NET StringLibrary nevű osztálytárprojektet a megoldáshoz.

    1. Kattintson a jobb gombbal a megoldásra a Solution Explorer és válassza a Add>New Project lehetőséget.

    2. A Új projekt hozzáadása lapon írja be könyvtár a keresőmezőbe. Válassza a C# vagy Visual Basic lehetőséget a Nyelv listából, majd válassza All platform lehetőséget a Platform listából. Válassza az Osztálykönyvtár sablont, majd válassza a Továbblehetőséget.

    3. Az Új projekt konfigurálása lapon írja be StringLibrary a Projekt neve mezőbe, majd válassza a Továbblehetőséget.

    4. A Címadatok lapon válassza a .NET 10, majd a Create lehetőséget.

  2. Ellenőrizze, hogy a kódtár a .NET megfelelő verzióját célozza-e meg. Kattintson a jobb gombbal a Solution Explorer könyvtárprojektre, majd válassza a Properties lehetőséget. A Target-keretrendszer szövegmező azt mutatja, hogy a projekt a 10.0-s .NET célokat célozza.

  3. Ha a Visual Basic programot használja, tisztítsa meg a Default névtér szövegmezőt.

    projekttulajdonságok az osztálykönyvtár

    Minden projekt esetében Visual Basic 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.

  4. 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.

    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
    

    A UtilityLibraries.StringLibraryosztálykódtár egy StartsWithUppernevű 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ódus true ad vissza, ha egy karakter nagybetűs.

    StartsWithUpper meg van valósítva bővítménymetódusként, ezért úgy hívhatja, mintha a String osztály tagja lenne. A C#-kódban ? utáni kérdőjel (string) azt jelzi, hogy a sztring null értékű lehet.

  5. 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.

  1. A projekt létrejön, és megnyílik Class1.cs .

  2. Cserélje le a Class1.cs tartalmát a következő kódra:

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            return char.IsUpper(str[0]);
        }
    }
    

    A UtilityLibraries.StringLibraryosztálykódtár egy StartsWithUppernevű 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ódus true ad vissza, ha egy karakter nagybetűs.

    StartsWithUpper meg van valósítva bővítménymetódusként, ezért úgy hívhatja, mintha a String osztály tagja lenne.

  3. Mentse a fájlt.

  4. Bontsa ki a Solution Explorer elemet a Explorer nézet alján.

  5. Kattintson a jobb gombbal a megoldásra a Solution Explorer és válassza a Build lehetőséget, vagy nyissa meg a parancskatalógust, és válassza a .NET: Build lehetőséget a megoldás létrehozásához, és ellenőrizze, hogy a projekt hiba nélkül áll-e le.

    A terminálkimenet a következő példához hasonlóan néz ki:

      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
    
  1. Lépjen a StringLibrary mappába:

    cd StringLibrary
    
  2. Nyissa meg Class1.cs , és cserélje le a tartalmát a következő kódra:

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            return char.IsUpper(str[0]);
        }
    }
    

    A UtilityLibraries.StringLibraryosztálykódtár egy StartsWithUppernevű 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ódus true ad vissza, ha egy karakter nagybetűs.

    StartsWithUpper meg van valósítva bővítménymetódusként, ezért úgy hívhatja, mintha a String osztály tagja lenne.

  3. Mentse a fájlt, és hozza létre a projektet:

    dotnet build
    

    A buildnek hiba nélkül sikeresnek kell lennie.

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.

  1. Adjon hozzá egy új .NET ShowCase nevű konzolalkalmazást a megoldáshoz.

    1. Kattintson a jobb gombbal a megoldásra a Solution Explorer és válassza a Add>New Project lehetőséget.

    2. Az Új projekt hozzáadása lapon írja be a konzolt a keresőmezőbe. Válassza a C# vagy Visual Basic lehetőséget a Nyelv listából, majd válassza All platform lehetőséget a Platform listából.

    3. Válassza ki a Konzolalkalmazás sablont, majd válassza a Tovább gombot.

    4. Az Új projekt konfigurálása oldalon írja be a Projekt neve mezőbe, hogy ShowCase. Ezután válassza a Tovább gombot.

    5. A Címadatok lapon válassza a .NET 10 lehetőséget a Framework mezőben. Ezután válassza az létrehozása opciót.

  2. 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;
    
    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 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.

  1. Kattintson a jobb gombbal a megoldásra a Solution Explorer és válassza a New Project lehetőséget, vagy a Parancskatalógusban válassza a .NET: Új projekt lehetőséget.

  2. Válassza a Konzolalkalmazás lehetőséget.

  3. Adja meg neki a ShowCase nevet, válassza ki az alapértelmezett könyvtárat, és válassza a Projekt létrehozása lehetőséget.

  4. Nyissa meg ShowCase/Program.cs, és cserélje le az összes kódot a következő kódra.

    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;
    }
    

    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.

  5. Mentse a módosításokat.

  1. Lépjen vissza az oktatóanyagok mappába, és hozzon létre egy új konzolalkalmazást:

    cd ..
    dotnet new console -n ShowCase
    
  2. Nyissa meg a ShowCase/Program.cs elemet, és cserélje le az összes kódot a következő kódra:

    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;
    }
    

    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.

  3. Mentse a módosításokat.

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.

  1. A Solution Explorer kattintson a jobb gombbal a ShowCase projekt Dependencies csomópontra, és válassza a Add Project Reference lehetőséget.

    Referencia kontextus menü hozzáadása a Visual Studio-ban

  2. A Reference Manager párbeszédpanelen jelölje ki a StringLibrary projektet, és válassza OKlehetőséget.

    Reference Manager párbeszédpanel, amelyen a StringLibrary ki van jelölve

  1. A Solution Explorer kattintson a jobb gombbal a ShowCase projektre, és válassza a Projekthivatkozás hozzáadása lehetőséget.

  2. Válassza a StringLibrary lehetőséget.

Jótanács

Másik lehetőségként adja hozzá a következőket a ShowCase.csproj fájlhoz:

<ItemGroup>
  <ProjectReference Include="..\StringLibrary\StringLibrary.csproj" />
</ItemGroup>

Adjon hozzá egy hivatkozást a StringLibrary projekthez a ShowCase projektből:

cd ShowCase
dotnet add reference ../StringLibrary/StringLibrary.csproj

Az alkalmazás futtatása

  1. A Solution Explorer kattintson a jobb gombbal a ShowCase projektre, és válassza a Set as StartUp Project lehetőséget a helyi menüben.

    Visual Studio projekt helyi menüje az indítási projekt beállításához

  2. A program hibakeresés nélküli fordításához és futtatásához nyomja le a Ctrl+F5 billentyűkombinációt.

  3. 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.

    konzol-ablak, amelyen a ShowCase fut

  1. A felső menüsávon válassza a Futtatás>hibakeresés nélkül lehetőséget.

  2. Válassza C#lehetőséget.

  3. Válassza a C#: ShowCase lehetőséget.

    Ha olyan hibaüzenet jelenik meg, amely szerint nincs betöltve C#-program, zárja be a megnyitott mappát, és nyissa meg a ShowCase mappát. Ezután próbálkozzon újra az alkalmazás futtatásával.

  4. 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.

    A terminálkimenet a következő példához hasonlóan néz ki:

    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
    
  1. Futtassa a ShowCase alkalmazást:

    dotnet run
    
  2. 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.

    A terminálkimenet a következő példához hasonlóan néz ki:

    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
    

További erőforrások

Erőforrások törlése

GitHub 30 nap inaktivitás után automatikusan törli a Codespace-t. Ha további oktatóanyagokat tervez ebben a sorozatban, a Codespace üzembe helyezését elhagyhatja. Ha készen áll a .NET webhelyre a .NET SDK letöltéséhez, törölheti a Codespace-t. A Codespace törléséhez nyisson meg egy böngészőablakot, és menjen a a Codespaces felületére. Az ablakban megjelenik a kódterek listája. Válassza ki a három elemet (...) a learn oktatóanyag kódterének bejegyzésében. Ezután válassza a "Törlés" lehetőséget.

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:

Csomag létrehozása és közzététele Visual Studio

Vagy megtudhatja, hogyan tehet közzé egy 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.