Delegate di Bahasa C#(C sharp)

Reading Time: 3 minutes
Delegate di Bahasa C#(C sharp)

Delegate di bahasa C# adalah objek yang bisa menyimpan referensi ke suatu fungsi. Objek Delegate bisa menyimpan referensi ke suatu fungsi dengan syarat delegate dan fungsi tersebut memiliki signature yang sama. Signature yang dimaksud adalah tipe balikan dan parameternya(jika ada). Ketika objek delegate memiliki referensi ke suatu fungsi, objek delegate bisa memanggil fungsi tersebut. Dalam tulisan ini, saya hanya akan fokus pada apa itu delegate dan bagaimana cara menggunakannya. Untuk penjelasan keuntungan menggunakan delegate, saya akan menjelaskannya dalam tulisan berikutnya.

Cara Mendeklarasikan Delegate

<access modifier> delegate <tipe balikan> <nama delegate>(daftar parameter)

Contoh deklarasi sebuah delegate dengan access modifier public, tipe balikan int, dinamai Calculator dan memiliki 2 parameter yang kedua-duanya bertipe int.

Contoh Cara Menyimpan Referensi Fungsi ke Delegate

Keyword New digunakan untuk memanggil konstruktor delegate. Nama fungsi yang akan disimpan referensinya dimasukkan ketika pemanggilan konstruktor. Hasil dari pemanggilan konstruktor delegate adalah objek delegate. Referensi objek delegate kemudian ditugaskan ke variabel calculator.

Atau

Sejak versi 2.0, kita bisa tidak menggunakan keyword New untuk memanggil konstruktor delegate. Hasilnya sama saja, proses di dalamnya sama saja dengan menggunakan keyword New. Ketika ngoding, saya tidak menggunakan cara yang pertama, karena jelas lebih sederhana memakai cara yang kedua. Alasan saya tetap menuliskan cara pertama adalah agar kalian tidak bingung ketika melihat kodingan jadul yang memakai cara pertama.

Contoh Penggunaan Delegate di Bahasa C#

Sama seperti contoh program-program sebelumnya, programnya berupa aplikasi console yang menggunakan .Net Framework.

Tampilan ketika aplikasi dijalankan

Perhatikan pada bagian

Itu adalah cara objek delegate memanggil suatu fungsi. Ketika suatu objek delegate memiliki referensi ke suatu fungsi, dia bisa memanggil fungsi tersebut. Cara memanggilnya unik, dia berperilaku seolah-olah dialah fungsi tersebut.

Referensi dari Fungsi Milik Objek

Pada contoh kodingan diatas referensi fungsi yang disimpan oleh objek delegate adalah referensi dari fungsi static(fungsi milik class, bukan fungsi milik objek). Delegate bisa juga menyimpan referensi dari fungsi milik objek. Berikut contohnya.

Kita buat sedikit lebih rumit, berikut adalah salah satu contoh variasi kodingan penggunaan delegate untuk menyimpan referensi fungsi milik objek. Ada penambahan class Calculator dan mengganti nama delegate menjadi Hitung.

Poin penting dari kodingan di atas adalah delegate bisa dideklarasikan di luar scope class.

Mudah-mudahan tulisan ini bisa menjelaskan apa itu delegate di bahasa C# dan bagaimana cara menggunakannya. Pada tulisan berikutnya, saya akan menjelaskan tentang apa keuntungan menggunakan delegate. Setelah menjelaskan keuntungan menggunakan delegate, saya akan melengkapi tulisan mengenai delegate ini dengan tulisan bagaimana melakukan multicasting pada delegate.

Bagikan artikel

Tinggalkan Balasan

  1. Ping-balik: Keuntungan Menggunakan Delegate dan Skenario Penggunaannya -

  2. Ping-balik: Multicasting Delegate dalam Bahasa C#

  3. Ping-balik: Event di Bahasa C# -