この一般的な構造がコンパイルされない理由を探していました
取得:
タイプ「WpfApplication1.CowDao」を「WpfApplication1.Dao」に暗黙的に変換できません
public abstract class Animal { }
public class Dog : Animal { }
public class Cow : Animal { }
public abstract class Dao<T> where T : Animal
{
public void Insert(T t);
}
public class DogDao : Dao<Dog> { }
public class CowDao : Dao<Cow> { }
public class Main
{
public Main()
{
Dao<Animal> dao = null;
if (true) dao = new DogDao();
else dao = new CowDao();
}
}
目標を達成したいだけです->「ニュートラル」インスタンス
を作成する構造を変更する必要があると思いますが、方法がわかりません
.NETFramework4を使用しています
ありがとう