Harun Özer


Proje veya dijital katalog yaptırmak için
iletişim formu doldurabilirsiniz..

<< t-sql ile kayıtları tek satır olarak almak ve For Xml explicit | .net klasör işlemleri - System.IO>>

c#.net Extension method tanımlamak

Yazar harunozer 18 March 2012

c#.net Extension method tanımlamak Extension method (genişletilebilir metod) .net in içindeki sınıflarına metodlar eklemek için kullanılır. Örneğin string sınıfında olmayan getLeft adında metod oluşturup string sınıfına eklenebilir ve str.getLeft şeklinde kolayca kullanılabilir.Böylece kendi kod kütüphanemizi oluşturabilir ve kolayca kullanabiliriz.

Extension methodlar public static class içinde public static olarak tanımlanır.

Test uygulaması olarak string sınıfına GetLeftChar adında stringin soldan istenilen uzunlukda karakterini veren bir metod ekleyelim.

İlk olarak bir console applicaton oluşturup ExtensionString adında yeni bir class ekleyelim.Eklediğimiz classın public static olarak tanımlanması gerekir.Sonrada eklediğimiz classın içine public static GetLeftChar(this string str,byte len) şeklinde metod tanımlayalım. this string str parametresi string sınıfına extension metod eklediğimizi belirtir.

    public static class ExtensionString
    {
        public static string GetLeftChar(this string str, byte len)
        {
            if (string.IsNullOrEmpty(str))
                return "";

            if (len > str.Length)
                return str;
            return str.Substring(0, len);
        }
    }
 
GetLeftChar metodunda verilen stringin uygun olmadığı durumlarda hata vermemesi için if blokları eklenmiştir.Şimdi yazdığımız metodu kullanmak için uygulamamızın static main metoduna aşağıdaki kodu yazalım.
 
        static void Main(string[] args)
        {
            string x = "Extension method";
            x = x.GetLeftChar(9);
            Console.WriteLine(x);
            Console.ReadKey();
        }
 
String sınıfına Extension method eklemek için geri dönen değerin string olması zorunlu değildir.Aşağıdaki metod int sınıfına Buyuk adında metod ekler ve bool dğer döndürür.
 
        public static bool Buyuk(this int num, int num2)
        {
            return (num > num2);
        }
 
Örnek uygulama: ExtensionMethods.rar

Tam Sayfa
Tags .net,
Kategoriler c#.net
İşlemler
Bu Makale 2  Kez Beğenildi.
İsim :    
e-Mail :    
Web Site :  
İmage :  
Güvenlik Kodu :  

Güvenlik Resmi
Resmi Yenile
    
Yorum :  
Tasarım Desenleri ve Mimarileri