C Sharp’da Delegate Yapısı

C Sharp’da Delegate Yapısı
C Sharp’da Delegate Yapısı
Yazılım Kodu Kanalına Abone Olun

Herkese merhaba,

Bu yazıda C Sharp’da Delegate Yapısı ile ilgili bilgi vermeye çalışacağım.

  1. 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.
  2. C Sharp’da Delegate’ler işlevlerin bellek adresini tutmak için kullanılan bir yapıdır.
  3. C Sharp’da Delegate dediğimiz, içerisinde methot tutan referans tip bir veri tipidir.
  4. C Sharp’da Delegate yapısı C ve C++ dillerinde yer alan function pointer veya fonksiyon göstericilerine benzer.
  5. C Sharp’da Delegate’ler referans tipli yapılardır.Yani nesne oluşturulabilirler.
  6. C Sharp’da Delegate’lerin temsil edeceği metoda imzası benzemek zorundadır.
  7. C Sharp’da Delegate’ler Olay(event) tabanlı programlama ve asenkron programlama yaparken, anonim metot yazarken kullanılır.
  8. C Sharp’da Delegate’lerin amacı metot saklamaktır. Birden fazla metot saklayabilir.
  9. C Sharp’da Delegate’lerin en büyük avantajı çok sayıda metoda atanarak kullanılabilmesidir.
  10. C Sharp’da Delegate’lerin birden fazla metot temsil etmesine Multicast Delegate denir.
  11. 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.

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli biriyim.

Aşağıdaki yazıları da inceleyebilirsiniz...

Sitedeki yazıları kopyalamak yasaktır.