title: Convert inherited T2 object from T1 in generic?
body: <p>The problem is:</p>
  
  <pre><code>public class Entity {...}
  
  public class Item : Entity {...}
  
  ...
  
  List&lt;Entity&gt; EntityList = new List&lt;Entity&gt;();
  
  List&lt;Item&gt; ItemList = new List&lt;Item&gt;();
  
  EntityList.Add(ItemList[0]); //ItemList contains some object Item
  </code></pre>
  
  <p>Now <code>EntityList[0]</code> contains <code>Item</code> object, but it have <code>Entity</code> as <code>.GetType</code>, and have no any <code>Item</code> properties, becouse it "Converts" object. Is there any <code>method</code> which can "convert" from Entity back to <code>Item</code>?</p>
  
  <p>I also want to know: is object destroys when you add it to list with parent class type, and then rebuilds into parents type object?</p>