การเชื่อมโยงฟังก์ชันกับอ็อบเจ็กต์ระหว่างเวลาคอมไพล์เรียกว่าการโยงแบบคงที่ C# มีเทคนิค 2 แบบในการใช้ Static Polymorphism ได้แก่ Function overloading และ Operator overloading
ใน Function Overloading คุณสามารถมีคำจำกัดความได้หลายแบบสำหรับชื่อฟังก์ชันเดียวกันในขอบเขตเดียวกัน
ตัวอย่าง
void print(int i) {
Console.WriteLine("Printing int: {0}", i );
}
void print(double f) {
Console.WriteLine("Printing float: {0}" , f);
} ตัวดำเนินการโอเวอร์โหลดเป็นฟังก์ชันที่มีชื่อพิเศษ ตัวดำเนินการคีย์เวิร์ด IS ตามด้วยสัญลักษณ์สำหรับตัวดำเนินการที่กำลังกำหนด
ตัวอย่าง
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;
}