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

सी # में प्रतिनिधियों को कैसे घोषित और तत्काल करें?

सी # प्रतिनिधि सी या सी ++ में कार्यों के पॉइंटर्स के समान हैं। एक प्रतिनिधि एक संदर्भ प्रकार चर है जो एक विधि का संदर्भ रखता है। रनटाइम पर संदर्भ बदला जा सकता है।

प्रतिनिधि घोषित करने के लिए सिंटैक्स -

delegate <return type> <delegate-name> <parameter list>

आइए अब देखते हैं कि C# में प्रतिनिधियों को कैसे त्वरित किया जाए।

एक बार एक प्रतिनिधि प्रकार घोषित होने के बाद, एक प्रतिनिधि वस्तु को नए कीवर्ड के साथ बनाया जाना चाहिए और एक विशेष विधि से जुड़ा होना चाहिए। एक प्रतिनिधि बनाते समय, नई अभिव्यक्ति को दिया गया तर्क एक विधि कॉल के समान लिखा जाता है, लेकिन विधि के तर्कों के बिना।

public delegate void printString(string s);
...
printString ps1 = new printString(WriteToScreen);
printString ps2 = new printString(WriteToFile);

निम्नलिखित C# में प्रतिनिधियों को घोषित करने और उन्हें तत्काल करने के लिए एक उदाहरण है -

उदाहरण

using System;

delegate int NumberChanger(int n);
namespace DelegateAppl {

   class TestDelegate {
      static int num = 10;

      public static int AddNum(int p) {
         num += p;
         return num;
      }

      public static int MultNum(int q) {
         num *= q;
         return num;
      }

      public static int getNum() {
         return num;
      }

      static void Main(string[] args) {
         //create delegate instances
         NumberChanger nc1 = new NumberChanger(AddNum);
         NumberChanger nc2 = new NumberChanger(MultNum);

         //calling the methods using the delegate objects
         nc1(25);
         Console.WriteLine("Value of Num: {0}", getNum());
         nc2(5);
         Console.WriteLine("Value of Num: {0}", getNum());
         Console.ReadKey();
      }
   }
}

आउटपुट

Value of Num: 35
Value of Num: 175

  1. संख्या लॉक:यह क्या है और यह कैसे काम करता है

    अधिकांश कीबोर्ड में नंबर-लॉक सुविधा होती है, जिसमें अक्षर कुंजियों के ऊपर निर्दिष्ट संख्यात्मक कुंजियों वाले कीबोर्ड शामिल होते हैं। यहां तक ​​कि कॉम्पैक्ट लैपटॉप कीबोर्ड में भी न्यू लॉक की होती है। कुंजी का नाम Num Lock से NumLock या NumLK, या कुछ इसी तरह से भिन्न हो सकता है, लेकिन कार्यक्षमता वही

  1. जावा 9 में जेएसएचएल में कक्षा और इंटरफेस कैसे घोषित करें?

    जेशेल main() की आवश्यकता के बिना जावा और जावा एपीआई को त्वरित रूप से प्रोटोटाइप, डिबगिंग और सीखने के लिए एक इंटरैक्टिव शेल प्रदान कर सकता है विधि या इसे निष्पादित करने से पहले हमारे कोड को संकलित करने की आवश्यकता है। कक्षा की घोषणा: हम एक वर्ग घोषित कर सकते हैं जैसे हमने जावा भाषा में एक कोड लिखा ह

  1. पायथन वेरिएबल्स - पायथन में वेरिएबल्स की घोषणा और उपयोग कैसे करें

    पायथन में वेरिएबल बनाने और उनका उपयोग करने के बारे में एक गाइड। पायथन वैरिएबल चर नामित स्थान हैं जिनका उपयोग स्मृति में संग्रहीत वस्तु के संदर्भों को संग्रहीत करने के लिए किया जाता है। जब हम पायथन में वेरिएबल बनाते हैं, तो हमें निम्नलिखित नियमों पर विचार करना चाहिए: एक चर नाम एक अक्षर या अंडरस्को