title: Overriding an abstract property with a derived return type in c#
body: <p>I have four classes.  Request, DerivedRequest, Handler, DerivedHandler.  The Handler class has a property with the following declaration:</p>
  
  <pre><code>public abstract Request request { get; set; }
  </code></pre>
  
  <p>The DerivedHandler needs to override this property so that it returns DerivedRequest instead:</p>
  
  <pre><code>public override DerivedRequest request { get; set; }
  </code></pre>
  
  <p>Does anyone have any ideas about how to make this work?</p>