Imagine the following situation.
Let's say you have a class A, which derives from IA. Let's also say that you have a collection class B which derives from IB.
IB derives from IEnumerable<IA>, and B derives from IEnumerable<A>.
Why isn't it possible to cast (IB)(B) without (implicitly) implementing the IEnumerable<IA> in B
Doesn't B implement IEnumerable<IA> implicitly since it implements IEnumerable<A> (A is derived from IA)
If you managed to stay with me this far, is there maybe a different way to do this