C# Extension Metot Nedir? Nasıl Kullanılır?

Merhaba.
 
Extension method, kelime anlamı ile "Genişletilebilir Metod" anlamına gelmektedir.
.NET 3.0 güncellemesi ile kullanıma girmiştir.
Extension metodlar static class içerisinde static olarak tanımlanmaktadır.
Fonksiyon parametresinde "this" kullanma mecburidir, Extension metod olduğunu belirtmektedir.
 
Örnek Kodlama;

public static class MyExtension    
{
   public static int ConvertToInt(this string obje, int number)
   {
       return Convert.ToInt32(obje) * number;
   }
}
 
Kullanımı;
 
string obje = "25";
int number = obje.ConvertToInt(8);