संकलन समय के दौरान किसी फ़ंक्शन को किसी ऑब्जेक्ट से जोड़ने की क्रियाविधि को अर्ली बाइंडिंग कहा जाता है। इसे स्टैटिक बाइंडिंग भी कहा जाता है। 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++