title: covariant object initializers?
body: <p>say that I have an class that has a property that is a dictionary&lt;string,bool&gt;, using a object initializer I can use this syntax (which I think looks pretty clean):</p>
  
  <pre><code>new MyClass()
  {
    Table = { {"test",true},{"test",false} }
  }
  </code></pre>
  
  <p>however,  outside of the initializer I can't do this: </p>
  
  <pre><code>this.Table = { {"test",true},{"test",false} };
  </code></pre>
  
  <p>Why are initializers a special case? I'd hazard a guess that it has something to do with LINQ requirements, covariance or whatnot but it feels a little incongruent not being able to use that kind of initializer everywhere...</p>