ডেলিগেট ইনস্ট্যানসিয়েট করতে new কীওয়ার্ড ব্যবহার করুন। ডেলিগেট তৈরি করার সময়, new এক্সপ্রেশনে পাস করা আর্গুমেন্টটি একটি মেথড কলের মতো লেখা হয়, কিন্তু মেথডের আর্গুমেন্টগুলো ছাড়া।
উদাহরণস্বরূপ:
public delegate void printString(string s); printString ps1 = new printString(WriteToScreen);
আপনি অ্যানোনিমাস মেথড ব্যবহার করে ডেলিগেট ইনস্ট্যানসিয়েট করতে পারেন:
// ডেলিগেট ডিক্লেয়ার
void Del(string str);
Del d = delegate(string name)
{
Console.WriteLine("Notification received for: {0}", name);
};
উদাহরণ
একটি উদাহরণ যা ডেলিগেট ডিক্লেয়ার এবং ইনস্ট্যানসিয়েট করে:
using System;
delegate int NumberChanger(int n);
namespace DelegateAppl
{
class TestDelegate
{
static int num = 10;
public static int AddNum(int p)
{
num += p;
return num;
}
public static int MultNum(int q)
{
num *= q;
return num;
}
public static int getNum()
{
return num;
}
static void Main(string[] args)
{
// ডেলিগেট ইনস্ট্যান্স তৈরি
NumberChanger nc1 = new NumberChanger(AddNum);
NumberChanger nc2 = new NumberChanger(MultNum);
// ডেলিগেট অবজেক্ট ব্যবহার করে মেথড কল
nc1(25);
Console.WriteLine("Value of Num: {0}", getNum());
nc2(5);
Console.WriteLine("Value of Num: {0}", getNum());
Console.ReadKey();
}
}
}
আউটপুট
Value of Num: 35 Value of Num: 175