using System;
using System.Linq;
public class Program
{
public class Animal
}
public class Cat : Animal
public interface IHandler<in T>
void Handle(T t);
public class AnimalHandler : IHandler<Animal>
public void Handle(Animal t)
public static int Main()
IHandler<Cat> catHandler = new AnimalHandler();
return 0;