Return type'ı ve aldığı parametre sayısı aynı olan birden fazla metodu tek bir yerde paketlemek isteyebiliriz. Bu paketi çağırdığımız zamanda pakete eklenmiş tüm metodların eklendiği sıraya göre çağrılmalarını sağlayabiliriz. Bunu delegate ile yapabiliriz.
Delegate, Metodların referansını tutabilen bir nesnedir. Delegateleri tetiklemek için içerisinde bulunan invoke() metodu çağırılır. Eğerki delegatenin referensını tuttuğu metodlar parametre alıyorsa bu parametreler Invoke() metodu içerisine eklenmelidir.
1-) Return tipi Void olan ve parametre almayan metodların referansını tutan delegate örneği.
2-) Return tipi Void olan parametre alan metodların referansını tutan delegate örneği.
Action
Geriye değer döndürmeyen parametreli veya parametresiz metodları encapsule eder.
Predicate
Geriye bool değer döndüren ve kesinlikle en az bir tane parametre almak zorunda olan metodları encapsule eder.
Func
Geriye değer döndürmesi gerekir ve parametre alabilir.
Örneğin, Func<int, bool> türünde bir delagete, bir int parametre alıp bool sonuç döndüren bir metodu ifade eder.
Hiç yorum yok:
Yorum Gönder