Interface member hiding : Explicit Interface Implementation : Class C# Examples


C# Examples » Class » Explicit Interface Implementation »

 

Interface member hiding









    
using  System;


public  interface  InterfaceA
{
    void  MethodA();
}


public  interface  InterfaceB  :  InterfaceA
{
    new  void  MethodA();    //  hides  MethodA()  in  InterfaceA
}

public  class  MyClass  :  InterfaceB
{

    void  InterfaceB.MethodA()
    {
        Console.WriteLine("InterfaceB  implementation  of  MethodA()");
    }

    public  void  MethodA()
    {
        Console.WriteLine("InterfaceA  implementation  of  MethodA()");
    }

}


class  MainClass
{
    public  static  void  Main()
    {
        MyClass  myClass  =  new  MyClass();

        Console.WriteLine("Calling  myClass.MethodA()");
        myClass.MethodA();

        InterfaceB  mySteerable  =  myClass  as  InterfaceB;
        Console.WriteLine("Calling  mySteerable.MethodA()");
        mySteerable.MethodA();

        InterfaceA  myDrivable  =  myClass  as  InterfaceA;
        Console.WriteLine("Calling  myDrivable.MethodA()");
        myDrivable.MethodA();

    }

}
    
   
  
   



Output

Calling myClass.MethodA()
InterfaceA implementation of MethodA()
Calling mySteerable.MethodA()
InterfaceB implementation of MethodA()
Calling myDrivable.MethodA()
InterfaceA implementation of MethodA()


HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Explicit Interface Implementation