Я пытаюсь написать набор классов, которые передают репозиторий (это блочная реализация).
В приложении большое число. репозиториев, событий и состояний, поэтому я пытаюсь использовать универсальные средства для уменьшения раздувания кода.
Вы можете увидеть проблему здесь: в этом дартс:
class MyRepo
{
}
class RealRepo<E extends Entity>
{
Repository<E> repo;
}
abstract class TypedEvent<T>
{
void run<R extends MyRepo>(R repo);
}
class DNDEvent extends TypedEvent<bool>
{
@override
void run(RealRepo<DND> repo){
}
}
class Repository<E extends Entity>
{}
class Entity
{}
class DND extends Entity
{}
Необходим метод запускабыть передано хранилище, которое происходит от базового класса. Кажется, проблема в том, что репозитории также набраны, и дротику это не нравится.