हेल्लो दोस्तों ! आज के इस पोस्ट में आपको c# delegate in hindi के बारे में आपको बताया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
Contents
c# delegates का परिचय
c# में delegate एक reference type होता है एक delegate किसी भी विशेष signature(parameter लिस्ट और return type) के method के reference (pointer) को represent(hold) करता है
एक delegates को आप type safe फंक्शन को pointer भी कह सकते है delegates type को safe इसलिए कहलाते है क्योकि ये केवल उही उन्ही methods का reference को hold करते है जिन methods का return type और उसके parameters का type और सख्या delegate से match होती है
delegate को फंक्शन को pointer इसलिए कहा जाता है क्योकि ये फंक्शन को refer करते है और इसके द्वारा आप किसी भी फंक्शन को execute करवाया जा सकता है
किसी भी दुसरे reference को type की तरह ही delegate के भी instance (objects) को क्रिएट किये जाते है आप delegate के instance को किसी भी compatible को signature वाले method से associate कर सकते है इसके बाद आप उस method का delegate को instance के द्वारा call कर सकते है
सभी delegate types को .net को framework की delegate के द्वारा आप एक method को दूसरी method के अन्दर parameter के रूप में pass कर सकते है delegate की methods को parameters के रूप में pass करने की ability को provide करती है
callback methods को ऐसे methods होते है जो किसी भी certain event के completion पर execute होते है जैसे की कोई भी event generate होने पर delegate के द्वारा आप method automatically call किये जा सकते है
syntax of c# delegates
delegate का प्रयोग करने के लिए 3 steps होते है सबसे पहले delegate को डिक्लेअर किया जाता है इसके बाद delegate को instantiate (object create करना)किया जाता है आखिर में delegates को invoke (call) किया जाता है
इन तीनो steps के लिए जरुरी syntax आपको निचे दिया जा रहा है
declaring a delegates
निचे c# delegates को डिक्लेअर करने का generate syntax आपको निचे दिया जा रहा है
Access-modifier delegate-keyword return-type delegate-name(parameter-list);
जैसा की आप उपर दिए गए syntax में आप देख सकते है की delegate को delegate keyword के द्वारा डिक्लेअर किया जाता है delegate का return type वाही होना चाहिए जो की refer किये जाने वाले method का है delegate के parameter की सख्या आप और उनका type भी refer किये जाने वाले methods को match होना चाहिए
instantiating a delegate
delegate को डिक्लेअर करने के बाद उसका instance को create किया जाता है एक delegate का instance method का नाम को provide करके क्रिएट किया जाता है यह उस method का नाम होता है जिसे आप delegate के द्वारा आप refer करने चाहते है
एक बार में object को create होने के बाद जब delegate को call किया जाता है तो वह call method को delegate की द्वारा pass किया जाता है
delegate को pass किये गए arguments भी methods को pass कर दिया जाता है यदि method कोई value को return करता है तो वह value को delegate के caller को return हो जाती है
किसी भी delegate का instance आप दो तरह से क्रिएट कर सकते है पहले तरीके में आप किसी भी class के object की तरह new keyword के द्वारा delegate का object को create कर सकते है इसका syntax आपको निचे दिया जा रहा है
Delegate-name object-name=class-object.method-name;
दोनों ही तरीके के द्वारा आप delegate का instance को create होता है और दोनों ही तरीके में जिस method को आप refer करना चाहते है उसका नाम डिफाइन करना होता है
यदि method non-static है तो उसे आप class object के द्वारा डिफाइन करते है यदि आप method को static है तो उसे class के नाम के द्वारा डिफाइन किया जायेगा
invoking delegate
एक बार में delegate का object को create करने के बाद आप उस object को actual method की तरह से प्रयोग (call) कर सकते है इसका syntax आपको निचे दिया जा रहा है
delegate-object-name(argument);
delegate को invoke(call) करते समय किसी भी नार्मल method की ही तरह उसमे argument को pass किये जाते है
passing delegate as argument
एक delegate को object को आप किसी method में argument के रूप में pass कर सकते है जिस प्रकार से आप नार्मल variables को parameter के रूप में डिफाइन करते समय आप उनके type int,float आदि में डिफाइन करते है उसी तरह के delegates का नाम type के रूप में प्रयोग किया जाता है और उसके बाद parameter का नाम लिखा जाता है इसलिए इसका syntax आपको निचे दिया जा रहा है
Access-modifier return-type metho d-name(delegate-name parameter-name,other-parameter-list) { //function code here }
example of c# delegates
c# में delegates के प्रयोग को एक simple example के द्वारा समझाया जा रहा है
using System; public delegate string printDelegate(); //delegates declaration Class delegateDemo { Public string printMethod() //method that is associated with delegates { Return “hello”; } Public stirng delegateMethod(printDelegate del) //method that take delegate as argument { String msg; Msg=del(); Return msg; } } Class delegateDemoFinal { Static void Main(string[] args) { String msg; delegateDemo dd=new delegateDemo(); //class object printDelegate del=new printDelegate(dd.printMethod); //delegate object msg=dd.delegateMethod(del); //calling class method by passing delegate as parameter Console.Write.Line(msg); } }
उपर दिए गए example में आपको निचे इसका आउटपुट दिया जा रहा है
hello
reference-https://www.tutorialspoint.com/csharp/csharp_delegates.htm
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# delegate in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# delegate in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject के लेकर भी कोई प्रश्न हो तो कमेंट करे “आपका comments हमारे लिए बहुमूल्य है “ *_*धन्यवाद