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
Visual Studio 2022 dengan workload pengembangan aplikasi desktop .NET yang sudah terpasang. .NET 8 SDK secara otomatis diinstal saat Anda memilih beban kerja ini.
Untuk informasi selengkapnya, lihat Menginstal .NET SDK dengan Visual Studio.
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:
Mulai Visual Studio.
Pada jendela mulai, pilih Buat proyek baru.
Pada halaman Buat proyek baru, masukkan solusi di kotak pencarian. Pilih templat Solusi Kosong
, lalu pilih Berikutnya .templat solusi kosong
Pada halaman mengonfigurasi proyek baru Anda, masukkan ClassLibraryProjects di kotak Nama solusi. Lalu pilih Buat.
Membuat proyek pustaka kelas
Tambahkan proyek pustaka kelas .NET baru bernama "StringLibrary" ke solusi.
Klik kanan pada solusi di Penjelajah Solusi
dan pilih Tambahkan Proyek Baru .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 .Pada halaman Konfigurasi proyek baru Anda, masukkan StringLibrary di kotak Nama proyek, lalu pilih Berikutnya.
Pada halaman Informasi tambahan, pilih .NET 8, lalu pilih Buat.
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. Jika Anda menggunakan Visual Basic, kosongkan teks dalam kotak teks namespace
Root. 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.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 bernamaStartsWithUpper
. 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) mengembalikantrue
jika karakter adalah huruf besar.StartsWithUpper
diimplementasikan sebagai metode ekstensi sehingga Anda dapat memanggilnya seolah-olah itu adalah anggota kelas String. Tanda tanya (?
) setelahstring
dalam kode C# menunjukkan bahwa string mungkin null.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.
Tambahkan aplikasi konsol .NET baru bernama "ShowCase" ke solusi.
Klik kanan pada solusi di Penjelajah Solusi
dan pilih Tambahkan Proyek baru .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.
Pilih templat Aplikasi Konsol
, lalu pilih Berikutnya. Pada halaman Mengonfigurasi proyek baru Anda, masukkan ShowCase di kotak Nama proyek. Lalu pilih Berikutnya.
Pada halaman Informasi tambahan, pilih .NET 8 dalam kotak Kerangka. Lalu pilih Buat.
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.
Di
Penjelajah Solusi , klik kanan pada simpulDependensi proyek, dan pilihTambahkan Referensi Proyek . Dalam dialog Reference Manager, pilih proyek StringLibrary, lalu pilih OK.
Dialog
Menjalankan aplikasi
Di Penjelajah Solusi, klik kanan ShowCase proyek dan pilih Atur sebagai Proyek Startup di menu konteks.
Tekan Ctrl+F5 untuk mengkompilasi dan menjalankan program tanpa penelusuran kesalahan.
Cobalah program dengan memasukkan string dan menekan Enter, lalu tekan Enter untuk keluar.
jendela Konsol
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.