static void test_covariance() { Stack <Bear> bears = new Stack <Bear>(); ZooCleaner.Wash(bears); //Stack<Animal> animals = bears; // Compile-time error Bear[] bears2 = new Bear[3]; Animal[] animals = bears2; // OK animals[0] = new Camel(); // Runtime error }
static void Main(string[] args) { Stack <Bear> bears = new Stack <Bear>(); ZooCleaner.Wash(bears); }
static void zoo() { Stak <Beer> beers = new Stak <Beer>(); ZooCleaner.Wash(beers); }