संकलन समय के दौरान किसी फ़ंक्शन को किसी ऑब्जेक्ट से जोड़ने की क्रियाविधि को अर्ली बाइंडिंग कहा जाता है। इसे स्टैटिक बाइंडिंग भी कहा जाता है। C# स्टैटिक पॉलीमॉर्फिज्म यानी फंक्शन ओवरलोडिंग और ऑपरेटर ओवरलोडिंग को लागू करने के लिए दो तकनीकें प्रदान करता है।
आइए एक उदाहरण के साथ फंक्शन ओवरलोडिंग के बारे में जानें -
आपके पास एक ही फ़ंक्शन नाम के लिए एक ही दायरे में कई परिभाषाएँ हो सकती हैं। फ़ंक्शन की परिभाषा तर्क सूची में प्रकार और/या तर्कों की संख्या से एक दूसरे से भिन्न होनी चाहिए। आप फ़ंक्शन घोषणाओं को अधिभारित नहीं कर सकते जो केवल रिटर्न प्रकार से भिन्न होती हैं।
निम्नलिखित पूरा उदाहरण है -
उदाहरण
using System; namespace PolymorphismApplication { class Printdata { void print(int i) { Console.WriteLine("Printing int: {0}", i ); } void print(double f) { Console.WriteLine("Printing float: {0}" , f); } void print(string s) { Console.WriteLine("Printing string: {0}", s); } static void Main(string[] args) { Printdata p = new Printdata(); // Call print to print integer p.print(5); // Call print to print float p.print(500.263); // Call print to print string p.print("Hello C++"); Console.ReadKey(); } } }
आउटपुट
Printing int: 5 Printing float: 500.263 Printing string: Hello C++