Introduction to Delegates In Hindi
सी# प्रोग्रामिंग लैंग्वेज में डिक्लेअर डेलिगेट एक सिक्योर्ड प्रोग्राम फ़ंक्शन पॉइंटर है। डेलिगेट प्रोग्रामर को सी# प्रोग्रामिंग में प्रोग्राम एक्सेक्युशन पर डायनामिक आर्डर में प्रोग्राम मेथड्स को स्टोर और एक्सेस करने में हेल्प करते है। जब आप सी# प्रोग्रामिंग लैंग्वेज में एक डेलीगेट को डिक्लेअर या डिफाइन करते हैं, तो आप एक मैन्युअल डेलीगेट टाइप को डिफाइन कर रहे होते हैं. जो मौजूदा सी# प्रोग्रामिंग लैंग्वेज में उन मेथड्स के रेफरेन्सेस को होल्ड रख सकता है, जिनके पास एक स्पेशल डेलिगेट मेथड्स सिग्नेचर होते है।

Why use delegates in C# programming language?
- Event handling – सी# प्रोग्रामिंग लैंग्वेज में डेलीगेट्स का उपयोग आमतौर पर सी# प्रोग्राम में मल्टीप्ल इंडिविजुअल ईवेंट को मैनेज और कण्ट्रोल करने में किया जाता है।
- जैसे, विंडोज एनवायरनमेंट में फ़ॉर्म और WPF जैसे, GUI(ग्राफिकल यूजर इंटरफ़ेस) फ़्रेमवर्क में ईवेंट हैंडलर आमतौर पर डेलीगेट्स का उपयोग करके एक्सेक्यूट किए जाते हैं।
- Callback methods – सी# प्रोग्रामिंग लैंग्वेज में डेलिगेट मेथड्स को प्रोग्राम लॉजिक के रूप में पास करने की परमिशन प्रोवाइड करते हैं, जिससे किसी प्रोग्राम स्ट्रक्चर में कॉलबैक कैपबिलिटी इनेबल हो जाती है।
- Flexibility – सी# प्रोग्रामिंग लैंग्वेज में डेलीगेट्स प्रोग्राम रनटाइम में पर्टिकुलर मेथड्स को कॉल किया जाता है, आप इसे प्रोग्राम पैरामीटर कालिंग के समय जरूरत पड़ने पर मॉडिफाई भी कर सकते हैं।
Declaring delegates in C# programming language.
सी# प्रोग्रामिंग लैंग्वेज में डेलिगेट डिक्लेअर करने के लिए, आपको उन क्लास मेथड्स के सिग्नेचर को इंडीकेट करने की जरूरत होती है, जिन्हें किसी प्रोग्राम में डेलिगेट रेफेरेंस के रूप उपयोग करेगा। जैसे (क्लास मेथड रिटर्न टाइप और क्लास पैरामीटर या आर्गुमेंट) है।
Syntax of declaring a delegate in C# programming language.
public delegate returnType DelegateName(parameter/argument List);
यहाँ उदाहरण के लिए, मौजूदा प्रोग्राम में एक डेलिगेट डिक्लेअर है, जो एक्टिव प्रोग्राम में उन मेथड्स को इंडीकेट करता है, जो प्रोग्राम में वोयड वैल्यू को रिटर्न करता हैं, और ईंट डाटा टाइप को एक पैरामीटर या आर्गुमेंट के रूप में इनपुट लेता हैं.
public delegate void TestDelegate(int numeric);
- delegate returnType – डेलिगेट मेथड द्वारा रिटर्न होने वाले वैल्यू के डाटा टाइप को डिफाइन करता है।
- DelegateName – सी# प्रोग्रामिंग लैंग्वेज में मौजूदा डेलिगेट टाइप और उसका नाम होता है।
- delagate parameterList – ये किसी प्रोग्राम में वे प्रोग्राम पैरामीटर है, (यदि कोई क्लास पैरामीटर हों) जिन्हें मौजूदा प्रोग्राम में डेलिगेट एक्सेप्ट करेंगे।
Using delegates in C# programming language.
सी# प्रोग्रामिंग लैंग्वेज में एक बार डेलिगेट डाटा टाइप डिफाइन हो जाने के बाद, आप जरूरत के अनुसार डेलिगेट को इमीडियेट क्रिएट कर सकते हैं, और उसे किसी मेथड से बाइंड कर सकते हैं। इसके बाद, मौजूदा प्रोग्राम में डेलिगेट का उपयोग बाउंड मेथड को कॉल करने में किया जा सकता है।
Declaring and using delegate example.
using System;
public delegate void TestDelegate(int numeric); // Here testdelegate Declare as a delegate
public class sample
{
// Here We Declare Method use to matches the delegate signature
public static void DisplayNumeric(int numeric)
{
Console.WriteLine(“\n The Numeric value is – ” + numeric);
}
static void Main()
{
// Here we Instantiate delegate and bind it to displaynumeric
TestDelegate del = new TestDelegate(DisplayNumeric);
// Here it Call the method with delegate
del(79); // the result is – 79
}
}
- del TestDelegate यहाँ एक डेलिगेट डाटा टाइप का एक बेसिक एक्साम्प्ल है।
- PrintNumeric यहाँ यदि मौजूदा मेथड डेलिगेट के सिग्नेचर से मिलती जुलती है, तो अब हम इसे डेलिगेट को असाइन कर सकते हैं।
- हम del(79) न्यूमेरिक का उपयोग करके एक डेलिगेट के द्वारा मेथड को अप्लाई करते हैं।
Multicast delegate in C# programming language.
सी# प्रोग्रामिंग लैंग्वेज में डिक्लेअर एक मल्टीकास्ट डेलिगेट कई मेथड्स के रेफ़्रेन्स को होल्ड कर सकता है। जब किसी प्रोग्राम में डेलिगेट को इन्वोक किया जाता है, तो मौजूदा प्रोग्राम में एक मल्टीकास्ट डेलिगेट लिस्ट में सभी मेथड्स को कॉल करता है।
Multicast delegate example.
using System;
public delegate void DemoDelegate(int numeric); // Demodalagate Declare as a delegate
public class Sample
{
public static void Displaynumeric(int numeric)
{
Console.WriteLine(“\n the default Numeric is – ” + numeric);
}
public static void Printadd(int numeric)
{
Console.WriteLine(“\n the addition is – ” + (numeric + 10));
}
static void Main()
{
// Declare Instantiate a delegate and bind multiple methods
DemoDelegate del = Displaynumeric;
del += Printadd; // Display Add another method
// Here it Call both methods with delegate
del(79);
// the result is –
// the default Numeric is – 79
// the addition is – 89
}
}
In the multicast delegate example.
- यहाँ प्रोग्राम डेलीगेट डेल प्रिंटन्यूमेरिक और प्रिंटऐड दोनों से बाइंड है।
- जब डेल(79) को कॉल किया जाता है, तो दोनों मेथड्स को सीक्वेंस आर्डर से एक्सेक्यूट किया जाता है।
Important Notes in C# Programming Language.
- यहाँ यदि सी# प्रोग्रामिंग लैंग्वेज में मल्टीकास्ट डेलीगेट में से कोई एक मेथड एक्सेप्शन थ्रो करती है, तो एक्टिव प्रोग्राम सीक्वेंस में बची हुई मेथड्स एक्सेक्यूट नहीं होंगी।
- सी# प्रोग्रामिंग लैंग्वेज में मल्टीकास्ट डेलीगेट का उपयोग कई लिस्ट्नेर्स को इंडीकेट करने के लिए इवेंट हैंडलिंग प्रोसेस में कई बार किया जाता है।
Summary of Delegate in C# Programming Language.
- सी# प्रोग्रामिंग लैंग्वेज में डेलीगेट एक प्रोग्राम टाइप है, जो एक स्पेशल सिग्नेचर के साथ प्रोग्राम मेथड्स को रेफ़्रेन्स करता है।
- सी# प्रोग्रामिंग लैंग्वेज में मल्टीकास्ट डेलीगेट कई मेथड्स को रेफ़्रेन्स कर सकते हैं और उन्हें किसी प्रोग्राम में सीक्वेंस आर्डर में अप्लाई कर सकते है।
- सी# प्रोग्रामिंग लैंग्वेज में डेलीगेट का उपयोग प्रोग्राम कॉलबैक मेथड्स, प्रोग्राम इवेंट हैंडलिंग, और डायनेमिक मेथड को इनवोकेशन में किया जाता है।
- सी# प्रोग्रामिंग लैंग्वेज में सामान्य ओवरव्यू के लिए एक्शन प्रोग्रामर को, फंक और प्रेडिकेट जैसे बिल्ट-इन डेलीगेट डाटा टाइप प्रोवाइड करता है।