C# assignment not behaving as expected
<p>Have a class that is derived from System.Windows.Forms.UserControl and implements an interface IFoo.  After having a SomeControl instance created with a Height specified and having that assigned to a local IFoo variable <em>display</em>, an attempt to assign a value to <em>display</em>'s Height property via it's public setter isn't working for me.  </p>

<p>I'm observing this while stepping through the debugger so I've trumped up this test case to simplify thing.  I realize <a href="http://www.pragprog.com/the-pragmatic-programmer/extracts/tips" rel="nofollow">"select isn't broken"</a> so there is a gap in my knowledge here of why I can't set this property so I'd like to understand what that is.  Thanks.</p>

<pre><code>public interface IFoo
{
    int Height {get;set;} // which is implemented by UserControl
}

public class SomeControl : UserControl, IFoo { /*impl goes here*/ }

[TestFixture]
public class TestFixture
{
   [Test]
   public void Test()
   {
       IFoo display = ...
       // assume that display is of type SomeControl 
       // and already has a value for Height at 123

       Assert.IsTrue(display.Height == 123);
       display.Height = 789; 
       Assert.IsTrue(display.Height == 789);  //FAILS 
   }
}
</code></pre>
