title: Can I Override with derived types?
body: <p>As far as i know it is not possible to do the following in C# 2.0</p>
  
  <pre><code>public class Father
  {
      public virtual Father SomePropertyName
      {
          get
          {
              return this;
          }
      }
  }
  
  public class Child : Father
  {
      public override Child SomePropertyName
      {
          get
          {
              return this;
          }
      }
  }
  </code></pre>
  
  <p>I workaround the problem by creating the property in the derived class as "new", but of course that is not polymorphic.</p>
  
  <pre><code>public new Child SomePropertyName
  </code></pre>
  
  <p>Is there any solution in 2.0?
  What about any features in 3.5 that address this matter? </p>