using System.Collections.Generic;
public class Dog : IAnimal
public class Cat : IAnimal
public static void Test(IAnimal animal)
Console.WriteLine("Animal");
public static void Test(Dog animal)
Console.WriteLine("Dog");
public static void Main()
var animals = new List<IAnimal>() { new Dog(), new Cat()};
foreach(var thing in animals)
Console.WriteLine(thing.DoSound());