C# Vize + Final Ders Notları 14 – Temsilci(Delegate) – 2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication5
{
    public delegate int mydelegate(ref int x, ref int y);//myDelegate adında tamsayı değer döndüren ve 2 adet tam sayı ref parametreli temsilciyi oluşturuyoruz.
    class Program
    {
        static void Main(string[] args)
        {
            int a = 2;
            int b = 3;
            mydelegate myd = C; //delegate’e önce C metodu
            myd += A;//Sonra üzerine A metodu
            myd += B;//Üzerine B metodu eklendi
            Console.WriteLine(myd(ref a, ref b));//myd delegate eklenen tüm metotlar sırası ile ref parametreli 2 ve 3 sayıları ile uygulanıyor. ref ile yapılması sonucunda değişiklikler kalıcı olmaktadır.
            Console.WriteLine(“C çıkartmadan önce a:”+a);//
            Console.WriteLine(“C çıkartmadan önce b:” + b);//çalıştırılıyor.
            myd -= C;//C metodu çıkarılıyor
            Console.WriteLine(myd(ref a, ref b));////C metodu olmadan delegate 
            Console.WriteLine(myd.GetInvocationList().Length);// delegate eklenen sayıyı gösteriyor 2
            Console.WriteLine(“C Çıkartıldıktan sonra a: “ + a);//
            Console.WriteLine(“C Çıkartıldıktan sonra b: “ + b);
            Console.ReadLine();
        }
        public static int A(ref int a, ref int b)
        {
            a++;
            b++;
            return (a + b) * 2;
        }
        public static int B(ref int a, ref int b)
        {
            a += 2;
            b += 2;
            return (a + b);
        }
        public static int C(ref int a, ref int b)
        {
            a–;
            b–;
            return (a * a + b * b);
        }
    }
}
//3 point gauss 
//delegate ler parametrelerin metotlara geçmesine izin verir
//delegate ler callback method larını tae


Yazılıma olan tutkusu için Trakya Üniversitesi - Bilgisayar Teknolojisi ve Bilişim Sistemleri öğrencisi, bölüm temsilcisi ve Keşan Yusuf Çapraz Uygulamalı Bilimler Yüksekokulu okul temsilcisi olarak öğrenimini 2016'da tamamladı. Junior Java Developer olarak aktif iş hayatına devam etmektedir.

Yazıyı Paylaş

Related Articles

Yorum Yaz

© 2019 Onur Arslan. Tüm Hakları Saklıdır. · RSS Yazıları · RSS Yorumları