हेल्लो दोस्तों आज के इस पोस्ट में आपको c# anonymous method in hindi के बारे में आपको बताया जा रही की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
C# anonymous methods का परिचय
एक method को किसी दूसरी methods में parameter के रूप में pass नहीं किया जा सकता है यही reason होता है की इसके लिए आप delegate का प्रयोग किया जाता है जो delegate के object एक wrapper object होता है जिसमे आप method को wrap करते है
delegate में methods को wrap करने के बाद ही आप उस delegate के object को parameter के रूप में किसी दुसरे method या event आदि को आसानी से pass किया जा सकता है
लेकिन यदि यह बहुत लम्बी process होती है तो इसके लिए आपको अलग से एक methods को create करके उसे delegate object में wrap करना होता है
- सबसे पहले आप delegate को create करते है तो और उसका signature को return type आदी में डिफाइन करते है
- इसके बाद आप same signature के साथ एक method को डिफाइन करते है की जिसे delegate में wrap किया जायेगा
- इसके बाद आप delegate का object को create किया जायेगा और method को उस delegate के object में wrap किया जायेगा
इस लम्बी process में आपको delegate,methods ,delegate के object आदि के अलग अलग नाम से सोचने होते है और उन्हें ही आपस में लिंक करता होता है ऐसे में यदि आप कई अलग अलग signature वाले methods का प्रयोग कर रहे है तो आपको इस समस्या और भी अधिक बढ़ जाती है
इस समस्या के solution के रूप में c# में 2.0 anonymous methods को introduce किया गया है जिसमे anonymous को methods delegates के जैसे ही होता है लेकिन जब आप anonymous में methods का प्रयोग करते है तो आपको delegate से कम code को लिखना पड़ता है
anonymous methods को regular methods की तरह ही नहीं होते है anonymous को methods का कोई नाम नहीं होता है सिर्फ body होता है anonymous को methods का कोई data type और return type भी नहीं होता है
जब आप anonymous को methods का प्रयोग करते है तो आपको separate methods को create नहीं करना पड़ता है क्योकि आप methods को directly (inline) delegate के साथ combine करके एक ही जगह पर ही डिफाइन कर देते है
anonymous को methods को typically events के साथ प्रयोग करने के लिए ही डिजाईन किया गया है इस events को handlers को assign करने के लिए ही यह एक simplified way है इसके आलावा आप anonymous methods से delegates को create करना भी आसन होता है
anonymous को methods के बारे में आपको important बाते आगे बताए जा रही है
- आप किसी anonymous methods को explicitly अपने code में नहीं call कर सकते है
- anonymous methods को किसी outer methods में declare किये गए variable को access कर सकते है
- anonymous को methods को ऐसे methods में pass किया जा सकता है जो parameter के रूप में ही delegate को accept करते है
- यदि आप anonymous को methods में ऐसे jump statement को डिफाइन करते है जिनका target anonymous को methods से बाहर है तो compiler को error generate करता है यदि outer code में ऐसे jump statement को डिफाइन किये जाता है जिसका target anonymous method है तो भी error को generate होती है
- anonymous को methods में outer code के ही ref और out parameters को नहीं डिफाइन किए जाता है
जब आप inline code को implementation की बात आती है तो lambda expression को प्राथमिकता दी जाती है लेकिन आप lambda expression में आप parameters को डिफाइन करते है anonymous को methods को आप चाहे तो parameters के बिना भी डिफाइन कर सकते है
lambda expressions के बारे में आपको details से जानकारी c# के lambda में दिया आगे है
syntax of c# anonymous methods
c# में anonymous को methods को डिफाइन करने का आपको general syntax आपको निचे दिया जा रहा है
delegate(parameters-here){method-body-here}
anonymous को methods को delegate keyword के द्वारा डिफाइन किया जाताहै parameter को डिफाइन करना optional होता है और ये programmer की need पर depend करता है की anonymous methods की body को curly brackets में डिफाइन किया जाता है
हालाकि anonymous को methods का syntax आपको अलग अलग होता है लेकिन आप असल में ये normal methods की तरह ही behave करती है
example of c# anonymous methods
c# में anonymous methods का उपयोग करने के लीये आपको निचे example के द्वारा समझाया गया है
using System; public delegate void myDelegate(); class myClass { Static void Main(string[] args) { myDelegate md=delegate() {Console.WriteLine(“this is printed using anonymous method”)}; Md(); } }
उपर दिए गया example में आपको निचे दिया जा रहा आउटपुट generate होता है तो चलिए आउटपुट को देखते है
This is printed anonymous method
reference-https://www.tutorialsteacher.com/csharp/csharp-anonymous-method
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# anonymous method in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# anonymous method in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे “आपका comments हमारे लिए बहुमूल्य है “ *_*धन्यवाद