VB.Net-এ Multi-cast Delegates এবং Anonymous Methods
Delegates হল এক ধরনের টেমপ্লেট যা মেথডের পটেনশিয়াল রেফারেন্স হিসেবে কাজ করে এবং এটি বিভিন্ন মেথডকে একটি একক প্রতিনিধি হিসেবে ব্যবহার করতে সহায়তা করে। Multi-cast Delegates এবং Anonymous Methods হল VB.Net-এ Delegates ব্যবহার করার দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য।
১. Multi-cast Delegates (মাল্টি-কাস্ট ডেলিগেটস)
Multi-cast Delegates হল এক ধরনের ডেলিগেট যা একাধিক মেথডের রেফারেন্স ধারণ করতে পারে এবং একসাথে একাধিক মেথড কল করতে পারে। সাধারণত, একটি ডেলিগেট একটাই মেথড কল করতে পারে, কিন্তু multi-cast delegate একাধিক মেথড কল করার সুবিধা দেয়।
Multi-cast Delegate-এর সুবিধা:
- একাধিক মেথড একসাথে কল করা।
- কোডের পুনঃব্যবহারযোগ্যতা বৃদ্ধি।
- কার্যকরী এবং পরিষ্কারভাবে একাধিক কাজ সম্পাদন করা।
Multi-cast Delegate তৈরি করা:
ডেলিগেট ডিফাইন করা:
Public Delegate Sub MyDelegate(message As String)
এখানে, MyDelegate ডেলিগেটটি একটি প্যারামিটার message গ্রহণ করে এবং Sub মেথডকে রেফার করে।
- মেথড ডিফাইন করা:
```vb
Public Sub Greet(name As String)
Console.WriteLine("Hello, " & name)
End Sub
Public Sub Farewell(name As String)
Console.WriteLine("Goodbye, " & name)
End Sub
3. **Multi-cast Delegate ব্যবহার করা**:
```vb
Sub Main()
' Delegate instance তৈরি
Dim myDelegate As MyDelegate
' একাধিক মেথড যুক্ত করা
myDelegate = AddressOf Greet
myDelegate += AddressOf Farewell
' Delegate কল করা (এটি একাধিক মেথড কল করবে)
myDelegate("Alice")
End Subআউটপুট:
Hello, Alice
Goodbye, Aliceএখানে, myDelegate ডেলিগেটটি প্রথমে Greet মেথড এবং তারপর Farewell মেথড কল করবে, কারণ আমরা += অপারেটর ব্যবহার করে একাধিক মেথড যুক্ত করেছি।
২. Anonymous Methods (এনোনিমাস মেথডস)
Anonymous Methods হল এমন মেথড যা কোন নাম ছাড়া সরাসরি ডেলিগেটের ভিতরে ডিফাইন করা হয়। এগুলি সাধারণত একক ব্যবহার বা ছোট মেথডগুলো কোডের মধ্যে ব্যবহার করার জন্য উপযোগী। এনোনিমাস মেথড ব্যবহার করার মাধ্যমে আপনি কোডকে আরো সংক্ষিপ্ত এবং পরিষ্কার রাখতে পারেন।
Anonymous Method ডিফাইন করা:
ডেলিগেট ডিফাইন করা:
Public Delegate Sub MyDelegate(message As String)- Anonymous Method ব্যবহার করা:
Sub Main()
' Anonymous method using delegate
Dim myDelegate As MyDelegate = Sub(message As String)
Console.WriteLine(message)
End Sub
' Delegate কল করা
myDelegate("Hello, this is an anonymous method!")
End Subআউটপুট:
Hello, this is an anonymous method!এখানে, myDelegate ডেলিগেটটি একটি Anonymous Method রেফার করছে, যা কোন নাম ছাড়াই সরাসরি ডেলিগেটের ভিতরে ডিফাইন করা হয়েছে।
৩. Multi-cast Delegate এবং Anonymous Method একসাথে ব্যবহার করা
আপনি Multi-cast Delegate এবং Anonymous Methods একসাথে ব্যবহার করতে পারেন। এতে আপনি একাধিক মেথড যুক্ত করতে পারবেন এবং একসাথে এনোনিমাস মেথড কল করতে পারবেন।
Multi-cast Delegate এবং Anonymous Method একত্রে ব্যবহার করা:
Sub Main()
' Delegate instance তৈরি
Dim myDelegate As MyDelegate
' Anonymous method যোগ করা
myDelegate = Sub(message As String)
Console.WriteLine("Anonymous Method: " & message)
End Sub
' অন্য মেথড যোগ করা
myDelegate += AddressOf Greet
myDelegate += AddressOf Farewell
' Delegate কল করা
myDelegate("Alice")
End Sub
' Greet মেথড
Public Sub Greet(name As String)
Console.WriteLine("Hello, " & name)
End Sub
' Farewell মেথড
Public Sub Farewell(name As String)
Console.WriteLine("Goodbye, " & name)
End Subআউটপুট:
Anonymous Method: Alice
Hello, Alice
Goodbye, Aliceএখানে, প্রথমে একটি Anonymous Method ব্যবহার করা হয়েছে এবং তারপরে Greet এবং Farewell মেথড দুটি যোগ করা হয়েছে। শেষে, myDelegate("Alice") কল করার ফলে সমস্ত মেথড একসাথে কল হয়েছে।
Summary
- Multi-cast Delegate: একাধিক মেথডকে একটি ডেলিগেটে যুক্ত করে একসাথে কল করতে ব্যবহৃত হয়। এটি কোড পুনঃব্যবহারযোগ্যতা বাড়ায় এবং কার্যক্ষমতা উন্নত করে।
- Anonymous Methods: কোন নাম ছাড়াই সরাসরি ডেলিগেটের ভিতরে মেথড তৈরি করা হয়, যা কোডের সল্পতা এবং পরিষ্কারতা নিশ্চিত করে।
- আপনি Multi-cast Delegate এবং Anonymous Methods একসাথে ব্যবহার করে একাধিক কাজ একসাথে সম্পন্ন করতে পারেন।
এই দুইটি ধারণা আপনাকে VB.Net-এ ডেলিগেটের শক্তি ব্যবহার করে আপনার অ্যাপ্লিকেশনকে আরো কার্যকরী ও পরিষ্কার করতে সাহায্য করবে।
Read more