Casting array of objects (which implement interface IFoo) to IFoo[] in C#
<pre><code>class A : IFoo
{
}

...

A[] arrayOfA = new A[10];

if(arrayOfA is IFoo[]) 
{
    // this is not called
}
</code></pre>

<p>Q1: Why is <code>arrayOfA</code> not an array of <code>IFoos</code>?</p>

<p>Q2: Why can't I cast <code>arrayOfA</code> to <code>IFoo[]</code>?</p>
