在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
类中实现这两个方法,并分别输出不同的信息。
通过这种方式,我们可以在接口中实现方法重载的效果。