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

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

C#-এ একটি ডেলিগেট (delegate) হলো একটি মেথডের রেফারেন্স। একটি ডেলিগেট হলো একটি রেফারেন্স টাইপ ভেরিয়েবল যা একটি মেথডের রেফারেন্স ধারণ করে। রান-টাইমে এই রেফারেন্স পরিবর্তন করা যায়।

ডেলিগেট especialment ইভেন্ট বাস্তবায়ন এবং কল-ব্যাক মেথডের জন্য ব্যবহৃত হয়। সকল ডেলিগেট নিখুঁতভাবে System.Delegate ক্লাস থেকে ডেরাইভড।

ডেলিগেট ঘোষণা

delegate <return type> <delegate-name> <parameter list>

সম্পূর্ণ উদাহরণ

using System; 
using System.IO; 
namespace DelegateAppl { 
    class PrintString { 
        static FileStream fs; 
        static StreamWriter sw; 
        // delegate declaration 
        public delegate void printString(string s); 
        // কনসোলে প্রিন্ট করার মেথড 
        public static void WriteToScreen(string str) { 
            Console.WriteLine("The String is: {0}", str); 
        } 
        // ফাইলে প্রিন্ট করার মেথড 
        public static void WriteToFile(string s) { 
            fs = new FileStream("c:\\message.txt", FileMode.Append, FileAccess.Write); 
            sw = new StreamWriter(fs); 
            sw.WriteLine(s); 
            sw.Flush(); 
            sw.Close(); 
            fs.Close(); 
        } 
        // ডেলিগেট প্যারামিটার হিসেবে নেওয়া মেথড 
        public static void sendString(printString ps) { 
            ps("Hello World"); 
        } 
        static void Main(string[] args) { 
            printString ps1 = new printString(WriteToScreen); 
            printString ps2 = new printString(WriteToFile); 
            sendString(ps1); 
            sendString(ps2); 
            Console.ReadKey(); 
        } 
    } 
}

আউটপুট

The String is: Hello World
  1. C#-এ জেনেরিক ডেলিগেট (Generic Delegates) কী

  2. C#-এ ইনডেক্সার কী?

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

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