+1  A: 

It's a matter of variance, which C# doesn't support for generics. See Rick Byer's post on the subject.

Mark Cidade
A: 

If you could cast a list of As as a list of Bs, then what would happen if you added an A?

Oliver Hallam
If the class A was used as the Generic type then it should act as an interface for any subclasses added.You should be able to use any methods / variables in A and B, and B if you explicitly cast it.
Craig Norton
Though obviously not, I'll think on the problem.
Craig Norton
A: 

In C# 4.0 (as announced yesterday) we are half way there.

Oliver Hallam