Я искал, почему это родовое не в строительстве компилироватьНаследование Generic инвариантность C# 4
я получаю:
Не удается неявно преобразовать тип «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();
}
}
Я просто хочу, чтобы добраться до своей цели -> сделать «нейтральный» экземпляр
Я думаю, что моя конструкция должна измениться, но я не знаю, как
Я использую .NET Рамочные 4
Благодаря
Но тогда моя общая структура не полезны, и мне нужно это из-за специфических методов коровы и собаки – DarkShaDoWke
Вы доу у собак и CowDaos, почему вам нужны конкретные методы в вашей базовой дао? Просто реализуйте их в своих конкретных daos – Dominik
Из-за разного sql-запроса – DarkShaDoWke