.NET Core - .NET Standart Kitaplığı Oluşturun

Bir sınıf kitaplığı, herhangi bir uygulamadan çağrılabilen türleri ve yöntemleri tanımlar.

  • .NET Core kullanılarak geliştirilen bir sınıf kitaplığı, kitaplığınızın .NET Standart Kitaplığının bu sürümünü destekleyen herhangi bir .NET platformu tarafından çağrılmasına olanak tanıyan .NET Standart Kitaplığını destekler.

  • Sınıf kitaplığınızı bitirdiğinizde, onu üçüncü taraf bir bileşen olarak dağıtmak isteyip istemediğinize veya bir veya daha fazla uygulamayla birlikte gelen bir bileşen olarak dahil etmek isteyip istemediğinize karar verebilirsiniz.

Konsol uygulamamıza bir sınıf kitaplığı projesi ekleyerek başlayalım; sağ tıklayınsrc Çözüm Gezgini'nde klasör ve seçin Add → New Project…

İçinde Add New Project iletişim kutusunda, .NET Core düğümünü seçin, ardından Sınıf Kitaplığı (.NET Core) proje şablonunu seçin.

Ad metin kutusuna, aşağıdaki şekilde gösterildiği gibi proje adı olarak "UtilityLibrary" girin.

Sınıf kitaplığı projesini oluşturmak için Tamam'ı tıklayın. Proje oluşturulduktan sonra yeni bir sınıf ekleyelim. Sağ tıklayınproject Solution Explorer'da ve seçin Add → Class...

Orta bölmede sınıfı seçin ve ada ve alana StringLib.cs girin ve ardından 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.Threading.Tasks; 
  
namespace UtilityLibrary { 
   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); 
      } 
   } 
}
  • Sınıf kitaplığı, UtilityLibrary.StringLibgibi bazı yöntemler içerir, StartsWithUpper, StartsWithLower, ve StartsWithNumber geçerli dize örneğinin sırasıyla büyük harf, küçük harf ve sayı ile başlayıp başlamadığını gösteren bir Boolean değeri döndürür.

  • .NET Core'da, Char.IsUpper yöntemi, bir karakter büyük harf ise, true değerini döndürür, Char.IsLower yöntemi, bir karakter küçük harfli ise true döndürür ve benzer şekilde, bir karakter sayısal ise Char.IsNumber yöntemi true döndürür.

  • Menü çubuğunda Oluştur, Çözüm Oluştur'u seçin. Proje hatasız derlenmelidir.

  • .NET Core konsol projemizin sınıf kitaplığımıza erişimi yoktur.

  • Şimdi bu sınıf kitaplığını kullanmak için konsol projemize bu sınıf kitaplığının referansını eklememiz gerekiyor.

Bunu yapmak için FirstApp'i genişletin ve Referanslar'a sağ tıklayın ve Add Reference…

Referans Yöneticisi iletişim kutusunda, sınıf kitaplığı projemiz olan UtilityLibrary'yi seçin ve ardından OK.

Şimdi konsol projesinin Program.cs dosyasını açalım ve tüm kodu aşağıdaki kodla değiştirelim.

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Threading.Tasks; 
using UtilityLibrary; 

namespace FirstApp { 
   public class Program { 
      public static void Main(string[] args) { 
         int rows = Console.WindowHeight; 
         Console.Clear(); 
         do { 
            if (Console.CursorTop >= rows || Console.CursorTop == 0) { 
               Console.Clear(); 
               Console.WriteLine("\nPress <Enter> only to exit; otherwise, enter a string and press <Enter>:\n"); 
            } 
            string input = Console.ReadLine(); 
            
            if (String.IsNullOrEmpty(input)) break; 
            Console.WriteLine("Input: {0} {1,30}: {2}\n", input, "Begins with uppercase? ", 
            input.StartsWithUpper() ? "Yes" : "No"); 
         } while (true); 
      } 
   } 
}

Şimdi uygulamanızı çalıştıralım ve aşağıdaki çıktıyı göreceksiniz.

Daha iyi anlamak için, projenizde sınıf kitaplığınızın diğer genişletme yöntemlerinden yararlanalım.