কম্পিউটার টিউটোরিয়াল

C#-এ মাল্টিকাস্টিং ডেলিগেট (Multicasting Delegates) কী


একাধিক মেথডের রেফারেন্স ধারণ করা ডেলিগেটকে মাল্টিকাস্টিং ডেলিগেট বলা হয়।

উদাহরণ

using System;

delegate void myDelegate(int val1, int val2);

public class Demo
{
    public static void CalAdd(int val1, int val2)
    {
        Console.WriteLine("{0} + {1} = {2}", val1, val2, val1 + val2);
    }

    public static void CalSub(int val1, int val2)
    {
        Console.WriteLine("{0} - {1} = {2}", val1, val2, val1 - val2);
    }
}

public class Program
{
    static void Main()
    {
        myDelegate d = new myDelegate(Demo.CalAdd);
        d += new myDelegate(Demo.CalSub);
        d(45, 70);
        d -= new myDelegate(Demo.CalAdd);
        d(95, 70);
        d += new myDelegate(Demo.CalSub);
        d(88, 6);
        d -= new myDelegate(Demo.CalAdd);
        d(40, 20);
        Console.Read();
    }
}

উপরের উদাহরণে, আমাদের ডেলিগেট হলো:

delegate void myDelegate(int val1, int val2);

নিচের কোড ব্যবহার করে আমরা ডেলিগেটে একাধিক মেথডের রেফারেন্স সেট করেছি (CalAdd() এবং CalSub()):

myDelegate d = new myDelegate(Demo.CalAdd);
d += new myDelegate(Demo.CalSub);
d(45, 70);
d -= new myDelegate(Demo.CalAdd);
d(95, 70);
d += new myDelegate(Demo.CalSub);
d(88, 6);
d -= new myDelegate(Demo.CalAdd);
d(40, 20);

  1. C#-এ স্ট্রিং লিটারেল কী?

  2. C#-এ ইউজার-ডিফাইনড এক্সেপশন (User-defined Exceptions) কী?

  3. C#-এ নেমস্পেস (Namespaces) কী?

  4. C#-এ ডেলিগেট (Delegates) কী?