C# Extension Methods

C# Çağrı ŞİŞMAN 11.12.2015

Merhaba,

Extension methods(Genişletme Metotları) yeni bir nesne türetmeden, uygulamamızda standart olarak kullanmayı düşündüğümüz yeni metotların tanımlanabilmesini sağlar.

Örneğin sıklıkla kullandığımız string metotları düşünelim. Trim,SubString,ToUpper gibi metotları herhangi bir string ifadeye uygulabiliyoruz. Bunun sebebi extension metot olarak tanımlanmalarıdır. 

Benzer şekilde generic listlerde kullandığımız OrderBy,Where gibi metotlar da standart olarak kullanılan extension metotlardır.

Extension metot yazmak istersek, dikkate alacağımız 3 temel nokta var.

  1. Static bir class tanımlamak
  2. Tanımlayacağımız metodun static olması
  3. Metodun ilk parametresinin this anahtar kelimesi ile belirtilmesi

String bir girdinin ilk harfini büyük harfe,diğer harflerini küçük harfe çeviren bir metod yazmak istediğimizi düşünelim. Bu yöntemi de uygulamamızda pekçok yerde kullanacağımızı varsayalım.

public static string Edit(this string expression)
{

            return string.Format("{0}{1}", expression.Substring(0, 1).ToUpperInvariant(), expression.Substring(1, expression.Length - 1).ToLowerInvariant());

}

Yukarıda yazdığımız Extension metottan sonra, string tipteki herhangi bir değişkenin metotlarında Edit metodunun kullanılabildiğini görebiliriz.Bu şekilde yeni bir class türetmeden kullanabileceğimiz metotları genişletmiş olduk.

İyi çalışmalar.

 


Etiketler: C#