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;
Senior Software Engineer, @Microsoft
Ada ve Ege'nin babası ;)
Makale Adedi: 484