5

C#.NET 3.5 を使用しています。私は得る

引数の型 'GenericTest.BarkStrategy' は、パラメーターの型 'GenericsTest.IAnimalStrategy' に割り当てられません

次の(この質問では可能な限り単純化された)コードを使用します。

using System.Collections.Generic;

namespace GenericsTest {
    class Program {
        static void Main(string[] args) {
            List<IAnimalStrategy<IAnimal>> strategies = 
                new List<IAnimalStrategy<IAnimal>>();
            strategies.Add(new BarkStrategy());
        }
    }

    interface IAnimal { }
    interface IAnimalStrategy<T> where T : IAnimal { }
    class Dog : IAnimal { }
    class BarkStrategy : IAnimalStrategy<Dog> { }
}
4

1 に答える 1