Override Get, But Not Set
<p>I have an abstract class that defines a <code>get</code>, but not <code>set</code>, because as far as that abstract class is concerned, it needs only a <code>get</code>.</p>

<pre><code>public abstract BaseClass
{
  public abstract double MyPop
  {get;}
}
</code></pre>

<p>However, in some of the derive class, I need a <code>set</code> property, so I am looking at this implementation</p>

<pre><code>public class DClass: BaseClass
{
  public override double MyPop
  {get;set;}
}
</code></pre>

<p>The problem is, I got a compilation error, saying that</p>

<blockquote>
  <p>*.set: cannot override because *. does not have an overridable set accessor.</p>
</blockquote>

<p>Even though I think that the above syntax is perfectly legitimate. </p>

<p>Any idea on this? Workaround, or why this is so?</p>

<p><em><strong>Edit: The only approach I can think of is to put both <code>get</code> and <code>set</code> as in the abstract class, and let the subclass throws a <code>NotImplementedException</code> if <code>set</code> is called and it's not necessary. That's something I don't like, along with a <a href="http://stackoverflow.com/questions/2026546/override-get-but-not-set/2026595#2026595">special setter method</a> .</em></strong> </p>
