.NET Core - Taşınabilir Sınıf Kitaplığı
Bu bölümde, PCL'nin (Taşınabilir Sınıf Kitaplığı) ne olduğunu ve ayrıca neden PCL'ye ihtiyacımız olduğunu tartışacağız. Bu kavramı anlamak için, önceki bölümde oluşturduğumuz sınıf kitaplığı proje klasörünü açalım.
Bu klasörde, project.json ve CS dosyalarına ek olarak * .xproj dosyamızın da olduğunu görebilirsiniz ve bunun nedeni Visual Studio kurulum .NET Core proje tipinin * .csproj yerine * .xproj olmasıdır.
Microsoft tarafından belirtildiği gibi, * .xproj kullanımdan kaldırılacak, ancak yine de önizleme 2 araçlarında burada. UWP uygulamasının * .csproj kullandığını belirttiğimiz gibi.
Şimdi * .csproj'u referans ve * .xproj olarak almak mümkün değil ve bu işlevsellik uygulanmayacak çünkü * .xproj taşınacak.
Bunun yerine, konsol uygulaması ile UWP uygulaması arasında paylaşılabilen bir sınıf kitaplığına ihtiyacımız var ve işte PCL geliyor.
PCL nedir
Şimdi PCL'nin ne olduğunu anlayalım -
Taşınabilir Sınıf Kitaplığı projesi, birden fazla .NET Framework platformunda çalışan yönetilen derlemeler yazmanıza ve oluşturmanıza olanak tanır.
Paylaşılan iş mantığı gibi birçok projede paylaşmak istediğiniz kodu içeren sınıflar oluşturabilir ve ardından farklı proje türlerinden bu sınıflara başvurabilirsiniz.
Ayrıca, Microsoft platformları için hızlı ve kolay bir şekilde platformlar arası uygulamalar ve kitaplıklar oluşturmanıza yardımcı olabilir.
Taşınabilir sınıf kitaplıkları, kod geliştirme ve test etme zamanını ve maliyetlerini azaltmanıza yardımcı olabilir.
Taşınabilir .NET Framework derlemeleri yazmak ve oluşturmak için bu proje türünü kullanın ve ardından Windows ve Windows Phone gibi birden çok platformu hedefleyen uygulamalardan bu derlemelere başvuruda bulunun.
Şimdi Çözüm Gezgini'nden oluşturduğumuz sınıf kitaplığını kaldıralım. Aynı zamanda Çözüm klasöründen silin ve yeni bir proje öğesi ekleyin.
Seçin Visual C# → Windows sol bölmedeki şablonu ve orta bölmede Sınıf Kitaplığı (Taşınabilir) öğesini seçin.
Ad alanına StringLibrary girin ve tıklayın OK bu projeyi oluşturmak için.
Şimdi referans verilecek hedef çerçeveleri seçmemiz gerekiyor. Bir an için Windows Universal ve ASP.NET Core'u seçelim, sonra onu yeniden hedefleyelim. TıklayınOK.
PCF formatında yeni bir proje oluşturduğunu görebilirsiniz. Şimdi Solution Explorer'da StringLibrary projesine sağ tıklayalım ve Özellikler'i seçelim.
Hedef .NET Platform Standardına tıklayın.
Evet'i tıklayın; şimdi bir küçük farkla aynı sınıf kitaplığıdır. Aradaki fark, UWP tarafından da kullanılabilmesidir, çünkü * .xproj yerine * .csproj dosyası içerir.
Şimdi yeni bir sınıf ekleyelim; bunun için Çözüm Gezgini'nde projeye sağ tıklamanız veAdd → Class...
Orta bölmede sınıfı seçin ve girin StringLib.cs ad alanına ve ardından tıklayın Add. Sınıf eklendikten sonra, StringLib.cs dosyasında aşağıdaki kodu değiştirin.
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);
}
}
}
Bu taşınabilir sınıf kitaplığı projesini oluşturalım ve hatasız derlenmelidir. Şimdi bu taşınabilir sınıf kitaplığının referansını konsol projemize eklememiz gerekiyor. Bu nedenle, FirstApp'ı genişletin ve Referanslar'a sağ tıklayın veAdd Reference…
Referans Yöneticisi iletişim kutusunda, taşınabilir sınıf kitaplığı projemiz olan StringLibrary'yi seçin ve ardından OK.
StringLibrary referansının konsol projesine eklendiğini ve project.json dosyasında da görülebildiğini görebilirsiniz.
Şimdi uygulamayı tekrar çalıştırabilirsiniz ve aynı çıktıyı göreceksiniz.
Şimdi taşınabilir sınıf kitaplığınızın diğer uzantı yöntemlerini projenizde kullanalım. Aynı taşınabilir kitaplık, UWP uygulamanızda da kullanılacaktır.