public void MakeNoises()
{
foreach (T animal in animals)
{
animal.MakeANoise();
}
}
//执行所有animal的Feed()
public void FeedTheAnimals()
{
foreach (T animal in animals)
{
animal.Feed();
}
}
//获得animals中的cow
public Farm<Cow> GetCows()
{
Farm<Cow> cowFarm = new Farm<Cow>();
foreach (T animal in animals)
{
if (animal is Cow)
{
cowFarm.Animals.Add(animal as Cow);
}
}
return cowFarm;
}
}
泛型定义好了,我们用写代码来调用它:
class Program
{
static void Main(string[] args)
{
Farm<Animal> farm = new Farm<Animal>();
farm.Animals.Add(new Cow("Jack"));
farm.Animals.Add(new Chicken("Vera"));
farm.Animals.Add(new Chicken("Sally"));
farm.Animals.Add(new SuperCow("Kevin"));








