I think what they're trying to say is:
Dog dog = new Dog();
Cat[] cats = new Cat[] { catOne, catTwo, catThree };
Animal[] animals = cats;
animals.Add(dog);
Line 3 of this code cannot be legal because you SHOULD always be able to do line 4 (Adding a Dog
to an array of Animal
s). But if line 3 was legal, then line 4 would not be legal (because you can't add a Dog
to an array of Cat
s).