Adding to list repopulates with the last element
<p>I'm creating a list of objects called MyComposedModel.</p>

<pre><code>List&lt;MyComposedModel&gt; TheListOfModel = new List&lt;MyComposedModel&gt;();
MyComposedModel ThisObject = new MyComposedModel();

foreach (MyComposedModel in some list of MyComposedModel)
{
 ThisObject.Reset(); //clears all properties
 ....
 TheListOfModel.Add(ThisObject);
}
</code></pre>

<p>The problem is that each time the for-each loop iterates and executes the .Add statement, the list is repopulated with n+1 objects and every object in the list is ThisObject. So for instance, the second time it runs, the last item is correctly inserted in position [1] BUT the first item in [0] is replaced with the second item and the list contains the second item in both positions.</p>

<p>ThisObject has a property called ID and when I debug, I see the ID change so I know that it's going through the list but when it reaches the .Add line, I don't know what happens.</p>

<p>What am I missing?</p>

<p>Thanks </p>
