C# da Extension Method Kullanımı

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu makalem ile C# da Extension method kullanımını inceleyip, aynı işi yapan normal method ile arasındaki farki göreceğiz.

Bu methodlar sayesinde bize ait olmayan ya da erişim iznimiz olmayan .Net Classlarındaki tipler için dahi methodlar yazabiliriz.

C# 3.0 ile hayatımıza giren extension methodlar bize ait olmayan sınıflardaki tiplere bunlardan bağımsız olarak method yazmamızı sağlar. Örneğin string tipi için de kullandığımız "ToString" methodunu ele alalım, bu method hiç şüphesiz string tipinin yazıldığı class içinde tutulmaktadır. Ama biz ayrıca string tipi için bir extension method yazdığımız da ise kullanımı aynen bu şekilde olacaktır.

Öncelikle bir sınıf yaratıyoruz ve adını "Sinifim" yapıyoruz.
Öyle bir method tasarlıyalım ki gelen int degeri pozitif ise true, negatif ise false değeri geri döndürsün.

 

 

Şimdi bu method ile aynı işi yapan bir de extension method yazalım,

Dikkat ederseniz extension methodunda aldığımız parametrenin başında "this" anahtar sözcüğü var. Bu anahtar sözcük bizim bu methodu kullanırken alacağı parametreyi direk olarak kullandığımız veriden almayı sağlıyor. Aşşağı da her iki methodun da kullanımında ne demek istediğimi daha iyi anlayacaksınız.

 

Gördüğünüz üzere normal methodu çağırırken parametre olarak yollamak istediğimiz veriyi içine yazarken, extension method da sanki o tipin yazıldığı class a bu methodu yazıpta kullanıyormuş gibi yazıyoruz.

Extension Method yazarken dikkat etmemiz gereken tek unsur yazılan classında methodunda "static" olarak tanımlanmasıdır!

Bir sonraki makalem de görüşmek üzere, esen kalın :)

H.Burak TUNGUT
Bilgisayar Mühendisliği Öğrencisi
www.buraktungut.com

Yorum Bırak

Facebook
Son Yorumlar