In this article we are going to discuss multiple Interfaces with same Method Name in C#.
In C#, a class can implement multiple interfaces that have methods with the same name. When this happens, you should have different implementations for each interface, you can use explicit interface implementation.
Example
In this example, Test class provides separate implementations for A.Hello() and B.Hello(). When calling these methods, you need to cast the object to the appropriate interface type.
using System;
interface A
{
void Hello();
}
interface B
{
void Hello();
}
class Test : A, B
{
void A.Hello()
{
Console.WriteLine("Hello to all-A");
}
void B.Hello()
{
Console.WriteLine("Hello to all-B");
}
}
public class interfacetest
{
public static void Main()
{
A Obj1 = new Test();
Obj1.Hello();
B Obj2 = new Test();
Obj2.Hello();
}
}
Output