在C#中,接口是不能包含具體的實現代碼的,因此無法直接在接口中定義方法重載。但是可以在接口中定義多個具有相同名稱但參數列表不同的方法,即方法的簽名不同,這樣就可以達到方法重載的效果。
下面是一個示例代碼:
interface IMyInterface
{
void MyMethod(int param);
void MyMethod(string param);
}
public class MyClass : IMyInterface
{
public void MyMethod(int param)
{
Console.WriteLine("Int method: " + param);
}
public void MyMethod(string param)
{
Console.WriteLine("String method: " + param);
}
}
class Program
{
static void Main()
{
MyClass obj = new MyClass();
obj.MyMethod(123);
obj.MyMethod("hello");
}
}
在上面的示例代碼中,IMyInterface
接口定義了兩個名為MyMethod
的方法,一個接收int
類型的參數,一個接收string
類型的參數。然后在MyClass
類中實現這兩個方法,并分別輸出不同的信息。
通過這種方式,我們可以在接口中實現方法重載的效果。