title: C# List to ICollection
body: <p>This is weird, I'm trying to initalize my ICollection with List in my constructor and this happens:</p>
  
  <pre><code>Schedules = new List&lt;BookingSchedule&gt;(); //OK
  CateringItems = new List&lt;CateringItem&gt;(); //Not
  </code></pre>
  
  <p>The properties:</p>
  
  <pre><code>public virtual ICollection&lt;BookingSchedule&gt; Schedules { get; set; }
  public virtual ICollection&lt;BookedCateringItem&gt; CateringItems { get; set; }
  </code></pre>
  
  <p>Error:</p>
  
  <pre><code>Error   1   Cannot implicitly convert type
  'System.Collections.Generic.List&lt;MyApp.Models.CateringItem&gt;' to  
  'System.Collections.Generic.ICollection&lt;MyApp.Models.BookedCateringItem&gt;'. 
  An explicit conversion exists (are you missing a cast?)
  </code></pre>
  
  <p>I can't see the difference between the two. I'm going insane trying to figure this out. Any idea?</p>