Dart: перегрузка универсального метода - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь написать набор классов, которые передают репозиторий (это блочная реализация).

В приложении большое число. репозиториев, событий и состояний, поэтому я пытаюсь использовать универсальные средства для уменьшения раздувания кода.

Вы можете увидеть проблему здесь: в этом дартс:


    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
    {}

Необходим метод запускабыть передано хранилище, которое происходит от базового класса. Кажется, проблема в том, что репозитории также набраны, и дротику это не нравится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...