abstract class Animal {}
abstract class Pet : Animal {
public string name;
}
class Cat : Pet {}
class Dog : Pet {}
class Fox : Animal {}
class PetCage {
public Pet content;
class FoxCage: PetCage {
new public Fox content; // Fox is'n Pet!
public class Program {
public static void Main() {
var cage = new PetCage();
cage = new FoxCage();
cage.content = new Cat(); // Hello, Cat in my FoxCage.