次の例では、コンパイラがaがaであることを認識しているcollectionA
のに、なぜキャストできないのですか?collectionB
TItem
A<T>
public class A<T>
{
}
public void Foo<TItem, T> () where TItem : A<T>
{
var collectionA = new List<TItem>();
var collectionB = (List<A<T>>)collectionA; // "Cannot cast" error here
}