Udostępnij za pośrednictwem


Samouczek: tworzenie biblioteki klas platformy .NET przy użyciu programu Visual Studio

W tym samouczku utworzysz prostą bibliotekę klas zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 8, może być wywoływana przez dowolną aplikację docelową platformy .NET 8. W tym samouczku przedstawiono sposób kierowania platformy .NET 8.

Podczas tworzenia biblioteki klas można ją dystrybuować jako pakiet NuGet lub jako składnik powiązany z aplikacją, która z niej korzysta.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie programu Visual Studio służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

Aby utworzyć puste rozwiązanie:

  1. Uruchom program Visual Studio.

  2. W oknie uruchamiania wybierz pozycję Utwórz nowy projekt.

  3. Na stronie Tworzenie nowego projektu wprowadź rozwiązanie w polu wyszukiwania. Wybierz szablon Puste rozwiązanie, a następnie wybierz pozycję Dalej.

    Blank solution template in Visual Studio

  4. Na stronie Konfigurowanie nowego projektu wprowadź ClassLibraryProjects w polu Nazwa rozwiązania. Następnie wybierz pozycję Utwórz.

Tworzenie projektu biblioteki klas

  1. Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź bibliotekę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy . Wybierz szablon Biblioteka klas, a następnie wybierz przycisk Dalej.

    3. Na stronie Konfigurowanie nowego projektu wprowadź ciągLibrary w polu Nazwa projektu, a następnie wybierz pozycję Dalej.

    4. Na stronie Dodatkowe informacje wybierz pozycję .NET 8 (wersja zapoznawcza), a następnie wybierz pozycję Utwórz.

  2. Upewnij się, że biblioteka jest przeznaczona dla poprawnej wersji platformy .NET. Kliknij prawym przyciskiem myszy projekt biblioteki w Eksploratorze rozwiązań, a następnie wybierz pozycję Właściwości. Pole tekstowe Target Framework pokazuje, że projekt jest przeznaczony dla platformy .NET 7.0.

  3. Jeśli używasz języka Visual Basic, wyczyść tekst w polu tekstowym Główna przestrzeń nazw .

    Project properties for the class library

    Dla każdego projektu program Visual Basic automatycznie tworzy przestrzeń nazw odpowiadającą nazwie projektu. W tym samouczku zdefiniujesz przestrzeń nazw najwyższego poziomu przy użyciu namespace słowa kluczowego w pliku kodu.

  4. Zastąp kod w oknie kodu klasy Class1.cs lub Class1.vb następującym kodem i zapisz plik. Jeśli język, którego chcesz użyć, nie jest wyświetlany, zmień selektor języka w górnej części strony.

    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
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy. Znak zapytania (?) po string w kodzie języka C# wskazuje, że ciąg może mieć wartość null.

  5. Na pasku menu wybierz pozycję Kompiluj>rozwiązanie kompilacji lub naciśnij klawisze Ctrl+Shift+B, aby sprawdzić, czy projekt kompiluje się bez błędu.

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. Dodaj nową aplikację konsolową platformy .NET o nazwie "ShowCase" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź konsolę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy .

    3. Wybierz szablon Aplikacja konsolowa, a następnie wybierz pozycję Dalej.

    4. Na stronie Konfigurowanie nowego projektu wpisz ShowCase w polu Nazwa projektu. Następnie wybierz pozycję Dalej.

    5. Na stronie Dodatkowe informacje wybierz pozycję .NET 8 (wersja zapoznawcza) w polu Framework. Następnie wybierz pozycję Utwórz.

  2. W oknie kodu pliku Program.cs lub Program.vb zastąp cały kod następującym kodem.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy ShowCase węzeł Zależności projektu i wybierz polecenie Dodaj odwołanie do projektu.

    Add reference context menu in Visual Studio

  2. W oknie dialogowym Menedżer odwołań wybierz projekt StringLibrary i wybierz przycisk OK.

    Reference Manager dialog with StringLibrary selected

Uruchom aplikację

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt ShowCase i wybierz polecenie Ustaw jako projekt startowy w menu kontekstowym.

    Visual Studio project context menu to set startup project

  2. Naciśnij klawisze Ctrl+F5, aby skompilować i uruchomić program bez debugowania.

  3. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Console window with ShowCase running

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono bibliotekę klas. Z następnego samouczka dowiesz się, jak testować bibliotekę klas.

Możesz też pominąć zautomatyzowane testowanie jednostkowe i dowiedzieć się, jak udostępnić bibliotekę, tworząc pakiet NuGet:

Możesz też dowiedzieć się, jak opublikować aplikację konsolową. Jeśli opublikujesz aplikację konsolową z rozwiązania utworzonego w tym samouczku, biblioteka klas przejdzie z nią jako plik dll .

W tym samouczku utworzysz prostą bibliotekę klas zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 7, może być wywoływana przez dowolną aplikację docelową platformy .NET 7. W tym samouczku przedstawiono sposób kierowania platformy .NET 7.

Podczas tworzenia biblioteki klas można ją dystrybuować jako pakiet NuGet lub jako składnik powiązany z aplikacją, która z niej korzysta.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie programu Visual Studio służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

Aby utworzyć puste rozwiązanie:

  1. Uruchom program Visual Studio.

  2. W oknie uruchamiania wybierz pozycję Utwórz nowy projekt.

  3. Na stronie Tworzenie nowego projektu wprowadź rozwiązanie w polu wyszukiwania. Wybierz szablon Puste rozwiązanie, a następnie wybierz pozycję Dalej.

    Blank solution template in Visual Studio

  4. Na stronie Konfigurowanie nowego projektu wprowadź ClassLibraryProjects w polu Nazwa rozwiązania. Następnie wybierz pozycję Utwórz.

Tworzenie projektu biblioteki klas

  1. Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź bibliotekę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy . Wybierz szablon Biblioteka klas, a następnie wybierz przycisk Dalej.

    3. Na stronie Konfigurowanie nowego projektu wprowadź ciągLibrary w polu Nazwa projektu, a następnie wybierz pozycję Dalej.

    4. Na stronie Dodatkowe informacje wybierz pozycję .NET 7 (obsługa terminów standardowych),a następnie wybierz pozycję Utwórz.

  2. Upewnij się, że biblioteka jest przeznaczona dla poprawnej wersji platformy .NET. Kliknij prawym przyciskiem myszy projekt biblioteki w Eksploratorze rozwiązań, a następnie wybierz pozycję Właściwości. Pole tekstowe Target Framework pokazuje, że projekt jest przeznaczony dla platformy .NET 7.0.

  3. Jeśli używasz języka Visual Basic, wyczyść tekst w polu tekstowym Główna przestrzeń nazw .

    Project properties for the class library

    Dla każdego projektu program Visual Basic automatycznie tworzy przestrzeń nazw odpowiadającą nazwie projektu. W tym samouczku zdefiniujesz przestrzeń nazw najwyższego poziomu przy użyciu namespace słowa kluczowego w pliku kodu.

  4. Zastąp kod w oknie kodu klasy Class1.cs lub Class1.vb następującym kodem i zapisz plik. Jeśli język, którego chcesz użyć, nie jest wyświetlany, zmień selektor języka w górnej części strony.

    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
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy. Znak zapytania (?) po string w kodzie języka C# wskazuje, że ciąg może mieć wartość null.

  5. Na pasku menu wybierz pozycję Kompiluj>rozwiązanie kompilacji lub naciśnij klawisze Ctrl+Shift+B, aby sprawdzić, czy projekt kompiluje się bez błędu.

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. Dodaj nową aplikację konsolową platformy .NET o nazwie "ShowCase" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź konsolę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy .

    3. Wybierz szablon Aplikacja konsolowa, a następnie wybierz pozycję Dalej.

    4. Na stronie Konfigurowanie nowego projektu wpisz ShowCase w polu Nazwa projektu. Następnie wybierz pozycję Dalej.

    5. Na stronie Dodatkowe informacje wybierz pozycję .NET 7 (obsługa terminów standardowych) w polu Framework. Następnie wybierz pozycję Utwórz.

  2. W oknie kodu pliku Program.cs lub Program.vb zastąp cały kod następującym kodem.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy ShowCase węzeł Zależności projektu i wybierz polecenie Dodaj odwołanie do projektu.

    Add reference context menu in Visual Studio

  2. W oknie dialogowym Menedżer odwołań wybierz projekt StringLibrary i wybierz przycisk OK.

    Reference Manager dialog with StringLibrary selected

Uruchom aplikację

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt ShowCase i wybierz polecenie Ustaw jako projekt startowy w menu kontekstowym.

    Visual Studio project context menu to set startup project

  2. Naciśnij klawisze Ctrl+F5, aby skompilować i uruchomić program bez debugowania.

  3. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Console window with ShowCase running

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono bibliotekę klas. Z następnego samouczka dowiesz się, jak testować bibliotekę klas.

Możesz też pominąć zautomatyzowane testowanie jednostkowe i dowiedzieć się, jak udostępnić bibliotekę, tworząc pakiet NuGet:

Możesz też dowiedzieć się, jak opublikować aplikację konsolową. Jeśli opublikujesz aplikację konsolową z rozwiązania utworzonego w tym samouczku, biblioteka klas przejdzie z nią jako plik dll .

W tym samouczku utworzysz prostą bibliotekę klas zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 6, może być wywoływana przez dowolną aplikację docelową platformy .NET 6. W tym samouczku przedstawiono sposób kierowania platformy .NET 6.

Podczas tworzenia biblioteki klas można ją dystrybuować jako pakiet NuGet lub jako składnik powiązany z aplikacją, która z niej korzysta.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie programu Visual Studio służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

Aby utworzyć puste rozwiązanie:

  1. Uruchom program Visual Studio.

  2. W oknie uruchamiania wybierz pozycję Utwórz nowy projekt.

  3. Na stronie Tworzenie nowego projektu wprowadź rozwiązanie w polu wyszukiwania. Wybierz szablon Puste rozwiązanie, a następnie wybierz pozycję Dalej.

    Blank solution template in Visual Studio

  4. Na stronie Konfigurowanie nowego projektu wprowadź ClassLibraryProjects w polu Nazwa rozwiązania. Następnie wybierz pozycję Utwórz.

Tworzenie projektu biblioteki klas

  1. Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź bibliotekę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy . Wybierz szablon Biblioteka klas, a następnie wybierz przycisk Dalej.

    3. Na stronie Konfigurowanie nowego projektu wprowadź ciągLibrary w polu Nazwa projektu, a następnie wybierz pozycję Dalej.

    4. Na stronie Dodatkowe informacje wybierz pozycję .NET 6 (obsługa długoterminowa), a następnie wybierz pozycję Utwórz.

  2. Upewnij się, że biblioteka jest przeznaczona dla poprawnej wersji platformy .NET. Kliknij prawym przyciskiem myszy projekt biblioteki w Eksploratorze rozwiązań, a następnie wybierz pozycję Właściwości. Pole tekstowe Target Framework pokazuje, że projekt jest przeznaczony dla platformy .NET 6.0.

  3. Jeśli używasz języka Visual Basic, wyczyść tekst w polu tekstowym Główna przestrzeń nazw .

    Project properties for the class library

    Dla każdego projektu program Visual Basic automatycznie tworzy przestrzeń nazw odpowiadającą nazwie projektu. W tym samouczku zdefiniujesz przestrzeń nazw najwyższego poziomu przy użyciu namespace słowa kluczowego w pliku kodu.

  4. Zastąp kod w oknie kodu klasy Class1.cs lub Class1.vb następującym kodem i zapisz plik. Jeśli język, którego chcesz użyć, nie jest wyświetlany, zmień selektor języka w górnej części strony.

    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
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy. Znak zapytania (?) po string w kodzie języka C# wskazuje, że ciąg może mieć wartość null.

  5. Na pasku menu wybierz pozycję Kompiluj>rozwiązanie kompilacji lub naciśnij klawisze Ctrl+Shift+B, aby sprawdzić, czy projekt kompiluje się bez błędu.

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. Dodaj nową aplikację konsolową platformy .NET o nazwie "ShowCase" do rozwiązania.

    1. Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze rozwiązań i wybierz polecenie Dodaj>nowy projekt.

    2. Na stronie Dodawanie nowego projektu wprowadź konsolę w polu wyszukiwania. Wybierz pozycję C# lub Visual Basic z listy Język, a następnie z listy Platforma wybierz pozycję Wszystkie platformy .

    3. Wybierz szablon Aplikacja konsolowa, a następnie wybierz pozycję Dalej.

    4. Na stronie Konfigurowanie nowego projektu wpisz ShowCase w polu Nazwa projektu. Następnie wybierz pozycję Dalej.

    5. Na stronie Dodatkowe informacje wybierz pozycję .NET 6 (obsługa długoterminowa) w polu Framework. Następnie wybierz pozycję Utwórz.

  2. W oknie kodu pliku Program.cs lub Program.vb zastąp cały kod następującym kodem.

    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}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } 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
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy ShowCase węzeł Zależności projektu i wybierz polecenie Dodaj odwołanie do projektu.

    Add reference context menu in Visual Studio

  2. W oknie dialogowym Menedżer odwołań wybierz projekt StringLibrary i wybierz przycisk OK.

    Reference Manager dialog with StringLibrary selected

Uruchom aplikację

  1. W Eksploratorze rozwiązań kliknij prawym przyciskiem myszy projekt ShowCase i wybierz polecenie Ustaw jako projekt startowy w menu kontekstowym.

    Visual Studio project context menu to set startup project

  2. Naciśnij klawisze Ctrl+F5, aby skompilować i uruchomić program bez debugowania.

  3. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Console window with ShowCase running

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono bibliotekę klas. Z następnego samouczka dowiesz się, jak testować bibliotekę klas.

Możesz też pominąć zautomatyzowane testowanie jednostkowe i dowiedzieć się, jak udostępnić bibliotekę, tworząc pakiet NuGet:

Możesz też dowiedzieć się, jak opublikować aplikację konsolową. Jeśli opublikujesz aplikację konsolową z rozwiązania utworzonego w tym samouczku, biblioteka klas przejdzie z nią jako plik dll .