C# Action ve Func Generic sınıfları ne işe yarar?

Bu makalede C# projelerimizde kullandığımız Action<T> ve Func<TParam, TReturn> sınıfları ne işe yarar sorusunun cevabını arayacağız.

En basit anlatımı ile Action<T> ve Func<TParam, TReturn> sınıfları delegate method gibi davranır.

Yani Action<T> veya Func<TParam, TReturn> sınıfından yeni bir değişken oluşturup, değer olarak bir method’un kendisini atayabiliriz.

Böylece değişkeni her tetiklediğimizde aslında değer olarak atadığımız method‘u tetiklemiş oluruz.

Hatta parametreleri uyduğu sürece değişkene atadığımız methodu başka bir method ile de değiştirebiliriz.

Action<T> ve Func<TParam, TReturn> sınıfları parametre alabilirde, almayabilirde. Yani sıfır veya daha fazla parametre alabilirler.

Aralarındaki fark ise, Action<T> geriye değer döndürmez iken, Func<TParam, TReturn> geriye değer döndürür.

Örneğin;

Önemli nokta; Action<T> sınıfından değişkene vereceğiniz method’un aldığı parametreler, Action<T> sınıfının generic parametreleri ile örtüşmeli.

Örneğin;

Ayrıca, Func<TParam, TReturn> sınıfından oluşturduğumuz değişkene atadığımız method’un parametreleri TParam generic parametreleri ile ve dönüş tipi TReturn generic parametresi ile örtüşmeli.

Örneğin;

İlgili diğer makaleler

blog comments powered by Disqus

Engin Polat hakkında

Senior Software Engineer, @Microsoft

Ada ve Ege'nin babası ;)

Kategoriler

İstatistik

Makale Adedi: 484

Creative Commons Lisansı