মাল্টিকাস্ট ডেলিগেট

সি# এ মাল্টিকাস্ট ডেলিগেট হলো এমন ধরনের ডেলিগেট, যা একাধিক মেথড রেফারেন্স ধরে রাখতে পারে এবং ক্রমানুসারে সেগুলোকে কল করতে পারে। মাল্টিকাস্ট ডেলিগেটের সুবিধা হলো, একবারে একাধিক মেথডকে একই ডেলিগেটের সাথে যুক্ত করা যায় এবং একটি এক্সিকিউশন লাইন থেকে তাদের চালানো যায়।

মাল্টিকাস্ট ডেলিগেট তৈরি করা

একটি মাল্টিকাস্ট ডেলিগেট তৈরি করতে, সাধারণ ডেলিগেটের মতোই ডিক্লেয়ার করা হয়। মেথডগুলোকে ডেলিগেটের সাথে সংযুক্ত (+=) বা পৃথক (–=) করা যায়। এটি প্রায়শই void টাইপের মেথডের জন্য ব্যবহৃত হয়, কারণ এর রিটার্ন ভ্যালু শুধুমাত্র সর্বশেষ মেথডের ফলাফল প্রদান করে।

উদাহরণ

নিচে একটি মাল্টিকাস্ট ডেলিগেট উদাহরণ দেওয়া হলো:

using System;

public class Program
{
    // ডেলিগেট ডিক্লারেশন
    public delegate void MyDelegate();

    // প্রথম মেথড
    public static void MethodOne()
    {
        Console.WriteLine("Method One Executed");
    }

    // দ্বিতীয় মেথড
    public static void MethodTwo()
    {
        Console.WriteLine("Method Two Executed");
    }

    public static void Main()
    {
        // মাল্টিকাস্ট ডেলিগেট তৈরি এবং মেথড অ্যাসাইন করা
        MyDelegate del = MethodOne;
        del += MethodTwo; // দ্বিতীয় মেথড যুক্ত করা

        // ডেলিগেট কল করা
        del();

        // দ্বিতীয় মেথড পৃথক করা
        del -= MethodTwo;
        Console.WriteLine("\nAfter removing MethodTwo:");

        // পুনরায় ডেলিগেট কল করা
        del();
    }
}

ব্যাখ্যা

১. MyDelegate নামে একটি ডেলিগেট তৈরি করা হয়েছে, যা void টাইপ এবং কোনো প্যারামিটার গ্রহণ করে না। ২. MethodOne এবং MethodTwo নামে দুটি মেথড ডিক্লেয়ার করা হয়েছে। ৩. del নামে একটি ডেলিগেট ইনস্ট্যান্স তৈরি করা হয়েছে এবং প্রথমে MethodOne মেথড অ্যাসাইন করা হয়েছে। ৪. del += MethodTwo; লাইনে MethodTwo মেথড যুক্ত করা হয়েছে, যা মাল্টিকাস্ট ডেলিগেট তৈরি করেছে। ৫. del(); কল করা হলে প্রথমে MethodOne এবং তারপর MethodTwo কল হবে। ৬. এরপর MethodTwo মেথডকে পৃথক (-=) করা হয়েছে, ফলে শুধুমাত্র MethodOne কল হয়।

মাল্টিকাস্ট ডেলিগেটের সুবিধা

  1. একাধিক মেথড কল করা সহজ: একাধিক মেথডকে একত্রে এক্সিকিউট করা যায়।
  2. সুবিধাজনক কোডিং: কোডের মডুলারিটি বৃদ্ধি পায়।
  3. মেথড পৃথক করার সুবিধা: সহজেই মেথডগুলোকে যুক্ত বা পৃথক করা যায়।

গুরুত্বপূর্ণ কিছু পয়েন্ট

  • মাল্টিকাস্ট ডেলিগেট শুধুমাত্র শেষ মেথডের রিটার্ন ভ্যালু প্রদান করে। তাই এটি void টাইপের জন্য উপযুক্ত।
  • মাল্টিকাস্ট ডেলিগেটের মাধ্যমে রেফারেন্স করা মেথডগুলো ক্রমানুসারে এক্সিকিউট হয়।

এভাবে মাল্টিকাস্ট ডেলিগেটের মাধ্যমে একাধিক মেথডকে একত্রে কল করার সুবিধা নেওয়া যায়।

Content added By

আরও দেখুন...

Promotion