Why when I try to instantiate a class instance, do I get StackOverFlowException?
<p>I keep getting <code>StackOverFlowException</code> whenever I instantiate an instance of A class. I know it has got something to do with the fact that <code>A.b</code> field is of type derived from class A. But why would that cause an exception?</p>

<pre><code>static void Main(string[] args)
{
     A a = new A(); // exception
}

class A 
{
    private B b = new B();
}

class B:A {}
</code></pre>

<p>thank you</p>
