C# Özel Extension Metot Yazılışı ve Kullanımı
C# Projelerimizde sık sık Lambda İfadeleri (Lambda Expressions) extension metotlarını kullanıyoruz. Örneğin; .ToString(), ToLower(), ToUpper() gibi biz de kendimize özel uzantılarımızı oluşturabiliriz ve dll ile başka projelerimizde de kullanabiliriz.

Örnek olarak Kdv hesaplama yapacağız, console projesi oluşturuyoruz düzenli olması için;
- Extensions adlı bir klasör oluşturuyoruz,
- VatExtension adlı bir statik sınıf oluşturuyoruz,
- Kdv adında bir statik metot oluşturuyoruz.
public static class VatExtension
{
public static double Kdv(this double price, int vatRate)
{
//Tutara Kdv eklenmiş şekilde geri döndürür.
return price + (price * vatRate / 100);
}
}
Bu metodumuzu açıklayacak olursak double tipindeki değişkenlerin uzantılarında Kdv metodumuz gözükecektir.
this double price, double tipindeki işaretlenen sayıdır yani ürün fiyatımız aşağıdaki örnekte productPrice sayısıdır.
int vatRate, Kdv oranıdır parametre olarak dışarıdan alırız.
Kullanımı:

static void Main(string[] args)
{
double productPrice = 100;
Console.WriteLine(productPrice.Kdv(18));
}
Başka bir projede kullanmak için projemizde DLL dosyamızı kopyalıyoruz.
Diğer projemizde Visual Studioda
- Solution Explorer
- Dependencies
- Sağ Tık
- Add Project Reference
- Browse Dll Seçip OK
Bu işlemlerden sonra projemizde direkt kullanabiliriz.