xxxxxxxxxx
List<A> collectionA = new List<A>();
collectionA.Add( new A( "Joe" ) );
collectionA.Add( new A( "John" ) );
collectionA.Add( new B( "Jim", 2 ) );
List<B> collectionB = new List<B>();
collectionB.Add( new B( "Jeff", 3 ) );
collectionB.Add( new B( "Jake", 4 ) );
ICollection<A> icollA = collectionA;
ICollection<B> icollB = collectionB;