Merhaba arkdaşlar, bugün yine yazmak istediğim bir konu var “Extension Methods in c#” ilk once extension amacını anlatmak istiyorum. bildiğiniz üzere .NET framework 3.0 ile LINQ mimarisi üzerine çalışıldı. 2.0 üzerinde oynanma yapılmadan genişletme çabaları da Extensionları doğrumuş. sınıfların LINQ yapısıyla çalışabilmesi için bazı metodlara sahip olması gerekir. bu metodlar extenion yapısıyla bazı classlara eklenmiş oldu.
bize sağladığı güzelliklerin başında “sealed class” (final class) lar için genişletebilme olanağıdır. Object Oriented yapısında genişletme “Inheritance” yani kalıtım ile olur . ancak extensionları kalıtım gibi görmemk lazım. “Delphideki Helper Class”‘ları bilen arkadaşlarımız da bu yapıya yabancı sayılmazlar.
Örnek Olarak:
bu metod string sınıfı için yazılmış Int32 dönüşümü yapan bir extension metoddur.
Code completer’ın bize metodları gösterebilmesi de gerçekten cok iyi. metodların solundaki Mavi oktan bunların Extension Method olduğunu anlayabiliyoruz.
Küçük bir örnek daha en cok kullandığımız işlemlerden biri olan formlardan sayı gelip gelmediğidir bunu suncuu taraflı kontrol etmek istediğimizde string için güzel bi metod olur (:
SQL sorguları gibi kullandığımız LINQ yapısı aslında arka planda metodlarla anlaşır ki bunu gerektiriyor zaten. bir programlama diline adabte edilebilmesi için en mantıklı yöntem seçilmiş.
kısaca extensionları anlatmaya çalıştım arkadaşlar gerisi de sizin hayal gücünüze ve İhtiyacınıza kalmış.
görüşmek üzere…











Teşekkürler.
Daha derin örnekler bekiyoruz.
Birde imla kurallarına uyalım.
[...] ile tanıdığım ve çok sevidğim Extensions methodları PHP 5.3 ile Closure sayesinde yapabiliyoruz (obje yeteneklerini kullanmazsan :p). PHP’den, daha [...]
Güzel Metot Olmuş Tufan Ellerine sağlık her seferinde convert yazmaya gerek kalmayacak