संकलन समय के दौरान किसी फ़ंक्शन को किसी ऑब्जेक्ट से लिंक करना स्टैटिक बाइंडिंग कहलाता है। C# स्थिर बहुरूपता को लागू करने के लिए दो तकनीकें प्रदान करता है:फंक्शन ओवरलोडिंग और ऑपरेटर ओवरलोडिंग।
फंक्शन ओवरलोडिंग में, आप एक ही स्कोप में एक ही फंक्शन नाम के लिए कई परिभाषाएँ रख सकते हैं।
उदाहरण
void print(int i) {
Console.WriteLine("Printing int: {0}", i );
}
void print(double f) {
Console.WriteLine("Printing float: {0}" , f);
} ओवरलोडेड ऑपरेटर विशेष नामों वाले कार्य हैं। कीवर्ड ऑपरेटर IS के बाद परिभाषित किए जा रहे ऑपरेटर के लिए प्रतीक D.
उदाहरण
public static Box operator+ (Box b, Box c) {
Box box = new Box();
box.length = b.length + c.length;
box.breadth = b.breadth + c.breadth;
box.height = b.height + c.height;
}