title: Interface implementation and inheritance in C#
body: <p>I have some code to implement interface in C#</p>
  
  <pre><code>public interface Intfc { void xyz();}
  
  public class BaseClass : Intfc
  {
  
      public virtual void xyz()
      {
          Console.WriteLine("In Base Class");
      }
  }
  
  public class Derived : BaseClass
  {
      public override void xyz()
      {
          Console.WriteLine("In Derived Class");
      }
  }
  
  static void Main(string[] args)
      {
          Derived mc = new Derived();
          mc.xyz(); //In Derived Class
          ((BaseClass)mc).xyz(); //In Base Class
          ((Intfc)mc).xyz(); //In Derived Class
  
          Console.ReadKey();
  
      }
  </code></pre>
  
  <p>I need the console output as provided in comments in <code>Main()</code>.
  Actual results are </p>
  
  <pre><code>In Derived Class
  In Derived Class
  In Derived Class
  </code></pre>
  
  <p>How can I achieve the desired results.</p>