Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में एनोनिमस मेथड्स


C# में डेलीगेट पैरामीटर के रूप में कोड ब्लॉक पास करने के लिए एनोनिमस मेथड्स का उपयोग करें। एनोनिमस मेथड्स बिना नाम के मेथड्स होते हैं, केवल बॉडी होती है।

एनोनिमस मेथड्स को इस तरह घोषित कर सकते हैं:

delegate void DemoMethod(int n);
...
DemoMethod dm = delegate(int a)
{
    Console.WriteLine("हमारा एनोनिमस मेथड: {0}", a);
};

ऊपर दिखाए अनुसार, एनोनिमस मेथड की बॉडी निम्नलिखित है:

Console.WriteLine("हमारा एनोनिमस मेथड: {0}", a);

उदाहरण

आइए C# में एनोनिमस मेथड्स को लागू करने का कोड देखें:

using System;

delegate void Demo(int n);

namespace MyDelegate
{
    class TestDelegate
    {
        static int num = 10;
        
        public static void DisplayAdd(int p)
        {
            num += p;
            Console.WriteLine("नामित मेथड: {0}", num);
        }
        
        public static void DisplayMult(int q)
        {
            num *= q;
            Console.WriteLine("नामित मेथड: {0}", num);
        }
        
        public static int GetNum()
        {
            return num;
        }
        
        static void Main(string[] args)
        {
            Demo dm = delegate(int x)
            {
                Console.WriteLine("एनोनिमस मेथड: {0}", x);
            };
            
            // एनोनिमस मेथड का उपयोग करके डेलीगेट कॉल करना
            dm(15);
            
            // नामित मेथड्स का उपयोग करके डेलीगेट इंस्टेंटिएट करना
            dm = new Demo(DisplayAdd);
            dm(10);
            
            // दूसरे नामित मेथड का उपयोग करके डेलीगेट इंस्टेंटिएट करना
            dm = new Demo(DisplayMult);
            dm(4);
            
            Console.ReadKey();
        }
    }
}

आउटपुट

एनोनिमस मेथड: 15
नामित मेथड: 20
नामित मेथड: 80

मुख्य बिंदु

  • कोई नाम नहीं: एनोनिमस मेथड्स का कोई नाम नहीं होता, केवल पैरामीटर लिस्ट और बॉडी होती है
  • डेलीगेट्स के साथ उपयोग: डेलीगेट इंस्टेंटिएशन के लिए इनलाइन कोड प्रदान करते हैं
  • कैप्चर वेरिएबल्स: बाहरी स्कोप के लोकल वेरिएबल्स को कैप्चर कर सकते हैं (क्लोजर)
  • C# 3.0+: लैम्ब्डा एक्सप्रेशन्स (x => x * 2) अधिक संक्षिप्त सिंटैक्स प्रदान करते हैं
  • लिमिटेशन: ref/out पैरामीटर्स का उपयोग नहीं कर सकते, unsafe कोड नहीं हो सकता

नोट: आधुनिक C# में लैम्ब्डा एक्सप्रेशन्स को प्राथमिकता दी जाती है क्योंकि वे अधिक पठनीय और संक्षिप्त हैं।

  1. डेटा सैनिटाइजेशन मेथड क्या हैं? डेटा सैनिटाइजेशन मेथड क्या हैं?

    डेटा सैनिटाइजेशन मेथड एक विशिष्ट तरीका है जिसमें डेटा विनाश प्रोग्राम या फाइल श्रेडर हार्ड ड्राइव या अन्य स्टोरेज डिवाइस पर डेटा को ओवरराइट करता है। अधिकांश डेटा विनाश और श्रेडिंग प्रोग्राम कई डेटा सैनिटाइजेशन मेथड का समर्थन करते हैं ताकि आप चुन सकें कि किसका उपयोग करना है। इन मेथड को अक्सर डेटा इ

  1. JavaScript ऑब्जेक्ट मेथड्स JavaScript ऑब्जेक्ट मेथड्स

    JavaScript ऑब्जेक्ट मेथड्स वे एक्शन हैं जो ऑब्जेक्ट पर किए जा सकते हैं।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Do

  1. जावास्क्रिप्ट में मेथड्स शेयर करना जावास्क्रिप्ट में मेथड्स शेयर करना

    मेथड्स को ऑब्जेक्ट की प्रोटोटाइप प्रॉपर्टी से जोड़कर शेयर किया जा सकता है। ये मेथड्स ऑब्जेक्ट के सभी इंस्टेंसेज के बीच शेयर किए जाएंगे। जावास्क्रिप्ट में मेथड्स शेयर करने का कोड निम्नलिखित है - उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=UTF-8 /> <meta na