C Sharp’da Delegate Yapısı
Herkese merhaba,
Bu yazıda C Sharp’da Delegate Yapısı ile ilgili bilgi vermeye çalışacağım.
- C Sharp’da Delegate, bir nesnenin programda karşılaştığı bir olay sonrasında görevini farklı bir nesneye devredebilmesine olanak sağlayan yapıdır.
- C Sharp’da Delegate’ler işlevlerin bellek adresini tutmak için kullanılan bir yapıdır.
- C Sharp’da Delegate dediğimiz, içerisinde methot tutan referans tip bir veri tipidir.
- C Sharp’da Delegate yapısı C ve C++ dillerinde yer alan function pointer veya fonksiyon göstericilerine benzer.
- C Sharp’da Delegate’ler referans tipli yapılardır.Yani nesne oluşturulabilirler.
- C Sharp’da Delegate’lerin temsil edeceği metoda imzası benzemek zorundadır.
- C Sharp’da Delegate’ler Olay(event) tabanlı programlama ve asenkron programlama yaparken, anonim metot yazarken kullanılır.
- C Sharp’da Delegate’lerin amacı metot saklamaktır. Birden fazla metot saklayabilir.
- C Sharp’da Delegate’lerin en büyük avantajı çok sayıda metoda atanarak kullanılabilmesidir.
- C Sharp’da Delegate’lerin birden fazla metot temsil etmesine Multicast Delegate denir.
- C Sharp’da Delegate’ler birden fazla metot saklama işi (+=) işlemi ile yapılır.
Delegate Yapısı ile hazırlamış olduğum örneği görmektesiniz.
using System;
namespace DelegateOrnek
{
class Program
{
delegate void Temsilci(int s1, double s2); // Delegate tanımlama işlemi. Metod gövdesi ile birebir uyumlu olmalıdır.
static void Main(string[] args)
{
Temsilci temsilci1 = Topla;
temsilci1(9, 6);
}
static void Topla (int sayi1, double sayi2)
{
Console.WriteLine("Sayi 1 " + sayi1 + " Sayı 2" + sayi2);
}
}
}
C Sharp’da Delegate Yapısı ile ilgili anlatacaklarım bu kadar.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.