NTP C# Dersi 12: Kütüphane (Class Library) Projesi

Merhaba arkadaşlar, bu dersimizde kütüphane(class library) projesi açmayı ve geliştirmeyi öğreneceğiz. Hatırlayın using komutunu kullanarak kütüphaneler çağırıyorduk. Şimdi biz de using komutu kullanılarak çağrılabilecek bir kütüphane yapacağız.

Hazır Kod Kütüphaneleri

Kütüphane(Class Library), hazır kodlar içeren uygulama uzantısıdır.  Kütüphane projesi yayımladığında “.dll” uzantısını alır. İçerisinde kodlanmış hazır metotlar bulunur.

Örneğin bir yazar kasa programı geliştirdiğimizi düşünelim. Bu yazar kasa programının içerisinde KDV hesaplayan bir metot veya en azından bir kod satırı bulunması gerekir. KDV hesaplayan metodu projemizden ayrı bir projede de kodlayabilir ve daha sonra yazar kasa projemize çağırabiliriz.

Kod Kütüphanelerinin Avantajları

Taşınabilir olmaları bir programcı için büyük bir kolaylıktır. Geliştirdiğimiz bir metodu kütüphaneler sayesinde her yere götürebiliriz. Başka bir proje daha geliştireceğimiz zaman tekrar tekrar aynı metodu kodlamak zorunda kalmayız. Aynı zamanda programa modülerlik katar. Kodların sadeliği ve anlaşılırlığı artar.

Bir örnekle dersimize devam edelim. Class Library(Sınıf Kütüphanesi) projesi açarak aşağıdaki kodları yapıştıralım.

 

// ===========================================================
//  Yazan Gençlik C# Kütüphanesi
//  ©yazangenclik.com 2014
//  29.09.2014
//  Muhammet AYGÜN
// ===========================================================
using System;
namespace yGLibrary
{
    /// <summary>
    /// Matematiksel fonksiyonları barındıran class
    /// </summary>
    public static class Matematik
    {
        /// <summary>
        /// [-Q]: Girilen sayının istenilen kuvveti veren metot.
        /// </summary>
        /// <param name=”sayi”>Kuvveti alınacak sayı</param>
        /// <param name=”kuvvet”>Kuvvet</param>
        /// <returns>Girilen sayının int türünde istenilen kuvveti döndürür.</returns>
        public static int KuvvetAl(int sayi, int kuvvet)
        {
            int k = 1; // [01]
            for (int i = 0; i < kuvvet; i++) // [02]
            {
                k *= sayi; // [03]
            }
            return k; // [04]
        }
        // [01]: “k” adında int türü bir yerel değişken tanılayıp 1 sayısnı yükledik.
        // [02]: “kuvvet” adındaki parametrede yüklü olan int sayı kadar dönecek bir for döngüsü kurduk.
        // [03]: “sayi” değişkenindeki sayı ile “k” değişkenindeki sayıyı çarpıp tekrar “k” değişkenine yükledik.
        // [04]: “k” değişkenindeki int sayıyı int türü, 2 parametreli “KuvvetAl” metoduna yukledik.
    }
}
 
Sonra bir konsol projesi açıp aşağıdaki kodları yapıştıralım. Ardından üst menüden Project > Add Reference… yolunu izleyerek Add Reference penceresini açalım ve yGLibrary.dll dosyasını projemize dahil edelim.

// [-R]: Bir sayının istenilen kuvvetini ekrana yazan konsol programı.
using System;
using yGLibrary;
namespace yG_CS_Proje
{
    class Program
    {
        static void Main(string[] yG)
        {
            Console.WriteLine(Math.Pow(2, 3));
            Console.WriteLine(Matematik.KuvvetAl(2, 3));
            Console.ReadKey();
        }
    }
}
 
Hatırlayın sınıflar veya yapılar için “İçerinde fonksiyonel değişkenler barındıran devasa değişkenlerdir.” tanımını yapmıştık. Bu tanım daha çok dinamik yapılar için geçerlidir fakat “KuvvetAl” metodu için de kısmen geçerlidir diyebiliriz. Bu tanımı kısmen de olsa kullanmamızın en büyük nedeni önünde bulunan int komutudur. int komutu metodun int bir değer döndürdüğü anlamına gelir.

Metotlar oluştururken metodun türü, parametreleri, parametrelerinin türü, barındığı yapının türü ve barındığı yapının nitelikleri çok önemlidir. Bu maddeleri ileriki derslerde detaylı olarak inceleyeceğiz. Şimdilik summary açıklamasını açıklayalım ve dersi bitirelim.

Summary Açıklama

Summary açıklama satırları gibidir. Açıklama satırları için geçerli olan her şey summary açıklamalar için de geçerlidir. Summary açıklamalar, metotlar veya nesneler hakkında programcıya ipuçları veren XML kodlama yapısındaki kodlardır. Summary kodlar açıklama satırları gibi programda yer kaplamazlar. Fakat istenirse ayrı bir “.xml” dosyasında saklanabilir. Summary açıklamalar “.xml” dosyası yapılıp programımızın dosyalarının içine dahil edilirse o zaman bir disk alanı işgalinden söz edile bilinir.

Summary açıklamaları Object Browser penceresinden görebiliriz.

Görüşmek üzere, iyi çalışmalar.

Önerilen diğer yazılar:
NTP C# Dersi 11: Dizi(Array) Değişken Metotları

NTP C# Dersi 13: Yapılara Erişim İzinleri

 

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>