title: Multiple inheritance with Abstract class and Interface
body: <p>I have written the following code in C#.NET</p>
  
  <pre><code>public interface IWork
  {
      void func();
  
  }
  public abstract  class WorkClass
  {
      public void func()
      {
          Console.WriteLine("Calling Abstract Class Function");
      }
  
  }
  
  public class MyClass:WorkClass,IWork
  {
  
  }
  </code></pre>
  
  <p>On compiling, I didn't get any error. Compiler is not forcing me to  implement the method "func();" in "MyClass", which has been derived from the interface "IWork".Latter, I can gracefully create a instance of the class "MyClass" and call the function "func()". Why the compiler is not forcing me to implement the "func()" method in the "MyClass"(which has been derived from "IWork" interface? Is it a flaw in C#? </p>