Use explicit implementation to remove ambiguity : Explicit Interface Implementation : Class C# Examples


C# Examples » Class » Explicit Interface Implementation »

 

Use explicit implementation to remove ambiguity









    
using  System;  
  
interface  MyInterfaceA  {  
    int  Method(int  x);  
}  
  
interface  MyInterfaceB  {  
    int  Method(int  x);  
}  
  
//  MyClass  implements  both  interfaces.  
class  MyClass  :  MyInterfaceA,  MyInterfaceB  {  
  
    //  explicitly  implement  the  two  Method()s  
    int  MyInterfaceA.Method(int  x)  {  
        return  x  +  x;  
    }  
    int  MyInterfaceB.Method(int  x)  {  
        return  x  *  x;  
    }  
  
    //  call  Method()  through  an  interface  reference.  
    public  int  MethodA(int  x){  
        MyInterfaceA  a_ob;  
        a_ob  =  this;  
        return  a_ob.Method(x);  //  calls  MyInterfaceA  
    }  
  
    public  int  MethodB(int  x){  
        MyInterfaceB  b_ob;  
        b_ob  =  this;  
        return  b_ob.Method(x);  //  calls  MyInterfaceB  
    }  
}  
  
class  MainClass  {  
    public  static  void  Main()  {  
        MyClass  ob  =  new  MyClass();  
  
        Console.Write("Calling  MyInterfaceA.Method():  ");  
        Console.WriteLine(ob.MethodA(3));  
  
        Console.Write("Calling  MyInterfaceB.Method():  ");  
        Console.WriteLine(ob.MethodB(3));  
    }  
}
    
   
  
   



Output

Calling MyInterfaceA.Method(): 6
Calling MyInterfaceB.Method(): 9


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Explicit Interface Implementation