26 votes

Conversion de List<> de la classe dérivée en List<> de la classe de base

J'ai deux classes : une classe de base (Animal) et une classe qui en dérive (Chat). La classe de base contient une méthode virtuelle Play qui prend une liste comme paramètre d'entrée.

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>());
        }
    }
}

Lorsque je compile le programme ci-dessus, j'obtiens l'erreur suivante

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

Y a-t-il un moyen d'y parvenir ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X