Extension metodlar, özel olarak tanımlanmış static metodlardır.
Herhangi bir Book intancesini alıp Books.IsBoring metoduna parametre olarak gönderip geriye bool bir result dönüyoruz. Bu kodu extention olarak yazalım.
Extension metodlar sadece static sınıflarda (örneklendirilemeyen ve sadece statik üyelere sahip sınıflar) bildirilebildiğinden, sınıfımıza static keywordunu eklememiz gerekir.
Şimdi this keywordunu ilk parametreye şu şekilde ekleyerek IsBoring metodunu bir extension metod olarak ilan ediyoruz:
this keywordunun .NET'e söylediği şey, IsBoring'in bir extension metod olduğu ve Books.IsBoring(someBook) gibi statik metod sözdizimi yoluyla veya Book sınıfından bir someBook nesnesi oluşturup daha sonra bu nesne üzeerinden someBook.IsBoring() gibi bir extension metod sözdizimi aracılığıyla çağrılabileceğidir. Book.IsBoring(); şeklinde erişim yapamayız bu metoda.
Reference
https://www.erikschierboom.com/2014/07/07/extension-methods-advanced/
Hiç yorum yok:
Yorum Gönder