将派生类的List <>转换为基类的List <>

我有两个类:一个基类(Animal)和一个从它派生的类(Cat)。基类包含一个虚拟方法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>());

        }

    }

}

当我编译上面的程序时,出现以下错误


    错误2参数1:无法从“ System.Collections.Generic.List”转换为“ System.Collections.Generic.List”


反正有做到这一点吗?


C# 泛型


catspeake
浏览 838回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP