title: Inheriting abstract classes with abstract properties
body: <p>I have base class with abstract properties. I want all inheriting classes to override abstract properties. Example:</p>
  
  <pre><code>public class Person
  {
      public string Name{get;set;}
      public string LastName{get;set;}
  }
  
  public class Employee : Person
  {
      public string WorkPhone{get;set;}
  }
  
  public abstract class MyBase
  {
      public abstract Person Someone {get;set;}
  }
  
  public class TestClass : MyBase
  {
      public override Employee Someone{get;set;} //this is not working
  }
  </code></pre>
  
  <p>Base class has Someone property with <code>Person</code> type. I am overriding <code>Someone</code> property on my <code>TestClass</code>. Now I want to use <code>Employee</code> type instead of <code>Person</code>. My <code>Employee</code> class inherits from <code>Person</code>. I couldn't make it work. What should I do to avoid this problem?</p>
  
  <p>Help appreciated! </p>