What am I missing about reference types in this example?
<p>I have the following code in that I create an object and pass it along through a series of forms to a user control.</p>

<pre><code>public class MyObject
{
   public List&lt;AnObject&gt; Objects {get; set;}
}
</code></pre>

<p>Form 1:</p>

<pre><code>private void MyObject _myObject = new MyObject{Objects = new List&lt;AnObject&gt;()};

...

Form2 form2 = new Form2(ref _myObject);
form2.Show();
</code></pre>

<p>Form 2:</p>

<pre><code>public Form2(ref MyObject myObject)
{
    UserControl1 myControl = new UserControl1();
    myControl.Objects = myObjects.Objects
}
</code></pre>

<p>UserControl1</p>

<pre><code>public List&lt;AnObject&gt; Objects {get; set;}
...

Objects.Add(new myObject());
</code></pre>

<p>When I Add a new myObject() to Objects in UserControl1, it doesn't update my original list on Form1.  I am passing myObject by reference.  The only thing I can think of that would be somehow unboxing my values is when I assign the list of AnObject to Form 2 to the UserControl1.  What am I doing wrong? </p>
