Приведение List <> производного класса к List <> базового класса

У меня есть два класса: базовый класс (Animal) и класс, производный от Класс it (Cat) .Base содержит один виртуальный метод Play, который принимает List в качестве входного параметра. Примерно так

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication9
{
    class Animal
    {
        public virtual void Play(List<Animal> animal) { }
    }
    class Cat : Animal
    {
        public override void Play(List<Animal> animal)
        {
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            Cat cat = new Cat();
            cat.Play(new List<Cat>());
        }
    }
}

Когда я компилирую указанную выше программу, я получаю следующую ошибку

    Error    2    Argument 1: cannot convert from 'System.Collections.Generic.List' to 'System.Collections.Generic.List'

Есть ли способ сделать это?

24
задан santosh singh 15 September 2010 в 18:51
поделиться