Penjelasan Delegates C# di Asp.Net

Delegates adalah tipe data yang mewakili referensi metod dengan list parameter dan return type tertentu. Saat kita memberi instantiate pada delegate, kita dapat mengaitkan instance dengan metod apa pun dengan sign dan return type yang kompatibel.

Kita bisa invoke (atau call) metod tersebut melalui instance delegate. Delegates digunakan untuk passing metod sebagai argumen pada metod lain. Event handlers tidak lebih dari metod yang di call melalui delegate.

Kita membuat metod khusus, dan class seperti windows control dapat memanggil metod kita saat terjadi event tertentu. Contoh berikut menunjukkan deklarasi delegate:
public delegate int PerformCalculation(int x, int y);
Setiap metod dari class atau struct yang mudah diakses yang sesuai dengan type delegate dapat disign ke delegate. Metod ini bisa berupa metod statis atau instance method. Hal ini memungkinkan pemanggilan metod berubah secara pemrograman, dan juga memasukkan code baru ke class yang ada.

Kemampuan untuk merujuk pada sebuah metod sebagai parameter membuat delegate ideal untuk menentukan metod callback. Sebagai contoh, referensi ke metod yang membandingkan dua objek dapat dipass sebagai argumen ke algoritma sort. Karena code pembanding dalam prosedur terpisah, algoritma sort dapat ditulis dengan cara yang lebih umum.

  • Tentang Delegates


Delegate memiliki properti berikut:
1. Delegate seperti pointer fungsi C ++ tapi tipe safe.
2. Delegate memungkinkan metod dipass sebagai parameter.
3. Delegate dapat digunakan untuk menentukan metod callback.
4. Delegate bisa dirantai bersama; Sebagai contoh, beberapa metod dapat dipanggil dalam single event.
5. Metod tidak harus sesuai dengan type delegate dengan tepat.
6. C # versi 2.0 memperkenalkan konsep Anonymous Methods, yang memungkinkan blok code dipass sebagai parameter sebagai pengganti metod yang didefinisikan secara terpisah. C # 3.0 memperkenalkan ekspresi lambda sebagai cara yang lebih ringkas untuk menulis blok code inline.
anonymous methods dan ekspresi lambda (dalam konteks tertentu) disusun untuk mendelegasikan tipe. Fitur ini sekarang dikenal sebagai anonymous functions.
Previous
Next Post »