public class Animal
{
}
public class Cat : Animal
{
}
public class AnimalBag<T> where T : Animal
{
}
...
AnimalBag<Animal> bag = new AnimalBag<Cat>();
このエラーが発生します:
タイプを暗黙的
AnimalBag<Cat>
に`AnimalBag'に変換することはできません
そして私がこれを試してみると:
AnimalBag<Animal> bag = (AnimalBag<Animal>) new AnimalBag<Cat>();
AnimalBag<Cat>
タイプをに変換できませんAnimalBag<Animal>
。
C#でこの種の問題を解決するにはどうすればよいですか?これはJavaで完全に機能します。