Bagikan melalui


Tutorial: Membuat pustaka kelas .NET menggunakan Visual Studio

Dalam tutorial ini, Anda membuat pustaka kelas sederhana yang berisi satu metode penanganan string.

Pustaka kelas menentukan jenis dan metode yang dipanggil oleh aplikasi. Jika pustaka menargetkan .NET Standard 2.0, pustaka dapat dipanggil oleh implementasi .NET apa pun (termasuk .NET Framework) yang mendukung .NET Standard 2.0. Jika pustaka menargetkan .NET 8, pustaka dapat dipanggil oleh aplikasi apa pun yang menargetkan .NET 8. Tutorial ini menunjukkan cara menargetkan .NET 8.

Saat membuat pustaka kelas, Anda dapat mendistribusikannya sebagai paket NuGet atau sebagai komponen yang dibundel dengan aplikasi yang menggunakannya.

Prasyarat

Membuat solusi

Mulailah dengan membuat solusi kosong untuk memasukkan proyek pustaka kelas. Solusi Visual Studio berfungsi sebagai kontainer untuk satu atau beberapa proyek. Anda akan menambahkan proyek terkait tambahan ke solusi yang sama.

Untuk membuat solusi kosong:

  1. Mulai Visual Studio.

  2. Pada jendela mulai, pilih Buat proyek baru.

  3. Pada halaman Buat proyek baru, masukkan solusi di kotak pencarian. Pilih templat Solusi Kosong , lalu pilih Berikutnya.

    templat solusi kosong di Visual Studio

  4. Pada halaman mengonfigurasi proyek baru Anda, masukkan ClassLibraryProjects di kotak Nama solusi. Lalu pilih Buat.

Membuat proyek pustaka kelas

  1. Tambahkan proyek pustaka kelas .NET baru bernama "StringLibrary" ke solusi.

    1. Klik kanan pada solusi di Penjelajah Solusi dan pilih TambahkanProyek Baru.

    2. Pada halaman Tambah proyek baru, masukkan pustaka di kotak pencarian. Pilih C# atau Visual Basic dari daftar Bahasa, lalu pilih Semua platform dari daftar Platform. Pilih templat Pustaka Kelas , lalu pilih Berikutnya.

    3. Pada halaman Konfigurasi proyek baru Anda, masukkan StringLibrary di kotak Nama proyek, lalu pilih Berikutnya.

    4. Pada halaman Informasi tambahan, pilih .NET 8, lalu pilih Buat.

  2. Periksa untuk memastikan bahwa pustaka menargetkan versi .NET yang benar. Klik kanan pada proyek pustaka di Penjelajah Solusi, lalu pilih properti . Kotak teks Kerangka Kerja Target menunjukkan bahwa proyek menargetkan .NET 8.0.

  3. Jika Anda menggunakan Visual Basic, kosongkan teks dalam kotak teks namespace Root.

    properti proyek untuk kelas pustaka

    Untuk setiap proyek, Visual Basic secara otomatis membuat namespace yang sesuai dengan nama proyek. Dalam tutorial ini, Anda menentukan namespace tingkat atas dengan menggunakan kata kunci namespace dalam file kode.

  4. Ganti kode di jendela kode untuk Class1.cs atau Class1.vb dengan kode berikut, dan simpan file. Jika bahasa yang ingin Anda gunakan tidak ditampilkan, ubah pemilih bahasa di bagian atas halaman.

    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
    

    Pustaka kelas, UtilityLibraries.StringLibrary, berisi metode bernama StartsWithUpper. Metode ini mengembalikan nilai Boolean yang menunjukkan apakah instans string saat ini dimulai dengan karakter huruf besar. Standar Unicode membedakan karakter huruf besar dari karakter huruf kecil. Metode Char.IsUpper(Char) mengembalikan true jika karakter adalah huruf besar.

    StartsWithUpper diimplementasikan sebagai metode ekstensi sehingga Anda dapat memanggilnya seolah-olah itu adalah anggota kelas String. Tanda tanya (?) setelah string dalam kode C# menunjukkan bahwa string mungkin null.

  5. Pada bilah menu, pilih Build>Build Solution atau tekan Ctrl+Shift+B untuk memverifikasi bahwa proyek dikompilasi tanpa kesalahan.

Menambahkan aplikasi konsol ke solusi

Tambahkan aplikasi konsol yang menggunakan pustaka kelas. Aplikasi akan meminta pengguna untuk memasukkan string dan melaporkan apakah string dimulai dengan karakter huruf besar.

  1. Tambahkan aplikasi konsol .NET baru bernama "ShowCase" ke solusi.

    1. Klik kanan pada solusi di Penjelajah Solusi dan pilih TambahkanProyek baru.

    2. Pada halaman Tambahkan sebuah proyek baru, masukkan konsol di kotak pencarian. Pilih C# atau Visual Basic dari daftar Bahasa, lalu pilih Semua platform dari daftar Platform.

    3. Pilih templat Aplikasi Konsol , lalu pilih Berikutnya.

    4. Pada halaman Mengonfigurasi proyek baru Anda, masukkan ShowCase di kotak Nama proyek. Lalu pilih Berikutnya.

    5. Pada halaman Informasi tambahan, pilih .NET 8 dalam kotak Kerangka. Lalu pilih Buat.

  2. Di jendela kode untuk file Program.cs atau Program.vb, ganti semua kode dengan kode berikut.

    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
    

    Kode ini menggunakan variabel row untuk mempertahankan hitungan jumlah baris data yang ditulis ke jendela konsol. Setiap kali lebih besar dari atau sama dengan 25, kode akan menghapus jendela konsol dan menampilkan pesan kepada pengguna.

    Program ini meminta pengguna untuk memasukkan string. Ini menunjukkan apakah string dimulai dengan karakter huruf besar. Jika pengguna menekan tombol Enter tanpa memasukkan string, aplikasi berakhir, dan jendela konsol ditutup.

Menambahkan referensi proyek

Awalnya, proyek aplikasi konsol baru tidak memiliki akses ke pustaka kelas. Untuk mengizinkannya memanggil metode di pustaka kelas, buat referensi proyek ke proyek pustaka kelas.

  1. Di Penjelajah Solusi, klik kanan pada simpul Dependensi proyek , dan pilihTambahkan Referensi Proyek .

    Menambahkan menu konteks referensi di Visual Studio

  2. Dalam dialog Reference Manager, pilih proyek StringLibrary, lalu pilih OK.

    Dialog Reference Manager dengan StringLibrary yang dipilih

Menjalankan aplikasi

  1. Di Penjelajah Solusi, klik kanan ShowCase proyek dan pilih Atur sebagai Proyek Startup di menu konteks.

    menu konteks proyek Visual Studio untuk mengatur proyek startup

  2. Tekan Ctrl+F5 untuk mengkompilasi dan menjalankan program tanpa penelusuran kesalahan.

  3. Cobalah program dengan memasukkan string dan menekan Enter, lalu tekan Enter untuk keluar.

    jendela Konsol menampilkan ShowCase yang sedang berjalan

Sumber daya tambahan

Langkah berikutnya

Dalam tutorial ini, Anda membuat pustaka kelas. Dalam tutorial berikutnya, Anda akan belajar cara melakukan pengujian unit pada perpustakaan kelas.

Atau Anda dapat melewati pengujian unit otomatis dan mempelajari cara berbagi pustaka dengan membuat paket NuGet:

Atau pelajari cara menerbitkan aplikasi konsol. Jika Anda menerbitkan aplikasi konsol dari solusi yang Anda buat dalam tutorial ini, pustaka kelas akan menggunakannya sebagai file .dll.