Cached property acts different in VS 2010 with breakoint
<p>I have a bunch of classes that implement cached properties that return collections of data retrieved from a database.  The problem I have is if I set breakpoints when debugging VS 2010 appears to execute the property itself in order to display the count of dictionary items.</p>

<p>How can I stop VS from executing the property before it's ready?
Thanks in advance...</p>

<p>Example that shows the problem: </p>

<pre><code>public class CTest
{
    private ICollection&lt;int&gt; _col = null;

    public ICollection&lt;int&gt; col
    {
        get
        {
            if (this._col == null)
            {
                System.Diagnostics.Debug.Assert(false, "ASSERT!");

                this._col = new Collection&lt;int&gt;();
                this._col.Add(1);
                this._col.Add(2);
                this._col.Add(3);
            }

            return this._col;
        }
    }
}




CTest test = new CTest();

// A breakpoint on this line and no assert will fire
int nCount = test.col.Count;

// A breakpoint on this line and assert will fire
nCount = test.col.Count;
</code></pre>
