অ্যানোনিমাস মেথড হলো এমন মেথড যার নাম নেই, শুধু বডি থাকে। এটি ডেলিগেট প্যারামিটার হিসেবে কোড ব্লক পাস করার টেকনিক।
অ্যানোনিমাস মেথড ডিক্লেয়ারেশন:
delegate void NumberChanger(int n);
...
NumberChanger nc = delegate(int x) {
Console.WriteLine("Anonymous Method: {0}", x);
};
সম্পূর্ণ উদাহরণ
using System;
delegate void NumberChanger(int n);
namespace DelegateAppl {
class Demo {
static int num = 10;
public static void AddNum(int p) {
num += p;
Console.WriteLine("Named Method: {0}", num);
}
public static void MultNum(int q) {
num *= q;
Console.WriteLine("Named Method: {0}", num);
}
public static int getNum() {
return num;
}
static void Main(string[] args) {
// অ্যানোনিমাস মেথড দিয়ে ডেলিগেট ইনস্ট্যানশিয়েট
NumberChanger nc = delegate(int x) {
Console.WriteLine("Anonymous Method: {0}", x);
};
nc(10); // কল
// নেমড মেথড দিয়ে ডেলিগেট
nc = new NumberChanger(AddNum);
nc(5);
// অন্য নেমড মেথড
nc = new NumberChanger(MultNum);
nc(2);
Console.ReadKey();
}
}
}
আউটপুট
Anonymous Method: 10 Named Method: 15 Named Method: 30
আধুনিক বিকল্প: C# 3.0+ এ ল্যাম্বডা এক্সপ্রেশন (x => Console.WriteLine(x)) বেশি ব্যবহৃত হয়।