.NET Core - Perpustakaan Kelas Portabel
Pada bab ini kita akan membahas apa itu PCL (Portable Class Library), dan juga mengapa kita membutuhkan PCL. Untuk memahami konsep ini, mari kita buka folder proyek perpustakaan kelas yang telah kita buat di bab sebelumnya.
Dalam folder ini, Anda dapat melihat bahwa selain file project.json dan CS kami juga memiliki file * .xproj, dan itu karena Visual Studio menyiapkan jenis proyek .NET Core sebagai * .xproj daripada * .csproj.
Seperti yang disebutkan oleh Microsoft, * .xproj akan ditiadakan, tetapi masih ada di alat pratinjau 2. Seperti yang telah kita bahas bahwa aplikasi UWP menggunakan * .csproj.
Sekarang sebenarnya tidak layak untuk mendapatkan * .csproj sebagai referensi dan * .xproj dan fungsionalitas itu tidak akan diterapkan karena * .xproj akan dipindahkan.
Jadi sebagai gantinya, kita membutuhkan pustaka kelas yang dapat dibagi antara aplikasi konsol dan aplikasi UWP dan inilah PCL.
Apa itu PCL
Mari kita sekarang memahami apa itu PCL -
Proyek Perpustakaan Kelas Portabel memungkinkan Anda untuk menulis dan membangun rakitan terkelola yang bekerja di lebih dari satu platform .NET Framework.
Anda dapat membuat kelas yang berisi kode yang ingin Anda bagikan ke banyak proyek, seperti logika bisnis bersama, lalu mereferensikan kelas tersebut dari berbagai jenis proyek.
Ini juga dapat membantu Anda membangun aplikasi dan perpustakaan lintas platform untuk platform Microsoft dengan cepat dan mudah.
Pustaka kelas portabel dapat membantu Anda mengurangi waktu dan biaya pengembangan dan pengujian kode.
Gunakan jenis proyek ini untuk menulis dan membangun rakitan .NET Framework portabel, lalu mereferensikan rakitan tersebut dari aplikasi yang menargetkan beberapa platform seperti Windows dan Windows Phone, dll.
Sekarang mari kita hapus pustaka kelas yang telah kita buat dari Solution Explorer. Pada saat yang sama, hapus dari folder Solusi dan selanjutnya tambahkan item proyek baru.
Pilih Visual C# → Windows template di panel kiri dan pilih Class Library (Portable) di panel tengah.
Masukkan StringLibrary di bidang nama dan klik OK untuk membuat proyek ini.
Sekarang kita perlu memilih kerangka kerja target untuk referensi. Mari kita pilih Windows Universal dan ASP.NET Core sebentar kemudian kita akan menargetkan ulang. KlikOK.
Anda dapat melihat bahwa itu telah membuat proyek baru dalam format PCF. Mari kita sekarang klik kanan proyek StringLibrary di Solution Explorer dan pilih Properties.
Klik pada Target .NET Platform Standard.
Klik Ya; sekarang perpustakaan kelas yang sama dengan satu perbedaan kecil. Perbedaannya adalah UWP juga dapat digunakan oleh UWP, karena berisi file * .csproj, bukan * .xproj.
Sekarang mari kita tambahkan kelas baru; untuk ini, Anda perlu mengklik kanan pada proyek di Solution Explorer dan pilihAdd → Class...
Pilih kelas di panel tengah dan masukkan StringLib.cs di bidang nama dan kemudian Klik Add. Setelah kelas ditambahkan, maka ganti kode berikut di file StringLib.cs.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StringLibrary {
public static class StringLib {
public static bool StartsWithUpper(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsUpper(ch);
}
public static bool StartsWithLower(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsLower(ch);
}
public static bool StartsWithNumber(this String str) {
if (String.IsNullOrWhiteSpace(str))
return false;
Char ch = str[0];
return Char.IsNumber(ch);
}
}
}
Mari kita membangun proyek perpustakaan kelas portabel ini dan harus dikompilasi tanpa kesalahan. Sekarang kita perlu menambahkan referensi perpustakaan kelas portabel ini di proyek konsol kita. Jadi, perluas FirstApp dan klik kanan pada Referensi dan pilihAdd Reference…
Di kotak dialog Manajer Referensi, pilih StringLibrary yang merupakan proyek perpustakaan kelas portabel kami, lalu klik OK.
Anda dapat melihat bahwa referensi StringLibrary ditambahkan ke proyek konsol dan juga dapat dilihat di file project.json.
Sekarang Anda dapat menjalankan aplikasi lagi dan Anda akan melihat output yang sama.
Sekarang, mari kita gunakan metode ekstensi lain dari perpustakaan kelas portabel Anda dalam proyek Anda. Pustaka portabel yang sama akan digunakan dalam aplikasi UWP Anda juga.