Что такое ResolveAll, делают

цитируется, что последняя версия Room - 2.1.0-alpha3

Это так.

, когда я помещаю эту версию в мой файл build.gradle, проект не может быть скомпилирован, и отображается следующая ошибка

Ваша версия в порядке. Ваш артефакт - проблема.

Все новые библиотеки AndroidX. Вы можете выбрать:

  • Придерживайтесь любой версии, которую вы используете прямо сейчас, и сохраните свой android.arch.persistence.room:runtime артефакт и его классы, или

  • Миграция в AndroidX, в этом случае вы должны использовать androidx.room:room-runtime в качестве артефакта, и вам нужно изменить свой код, чтобы ссылаться на классы androidx для Room и всего остального

6
задан Linger 19 July 2012 в 04:36
поделиться

3 ответа

Это возвратит все классы, которые были зарегистрированы для данного интерфейса.

... и не ожидают ни на каких ссылках, которые будут разрешены. Сегодня это укусило меня!

10
ответ дан 8 December 2019 в 18:43
поделиться

Это возвратит все классы, которые были зарегистрированы для данного интерфейса.

1
ответ дан 8 December 2019 в 18:43
поделиться

В Unity ResolveAll разрешает каждое зарегистрированное отображение для интерфейса , за исключением для отображения по умолчанию.

поэтому, если вы зарегистрировались:

container.RegisterType<IInterface, ActualClassOne>(new ContainerControlledLifetimeManager());
container.RegisterType<IInterface, ActualClassOne>("Singleton", new ContainerControlledLifetimeManager());
container.RegisterType<IInterface, ActualClassOne>("Trans", new TransientLifetimeManager());

ResolveAll () предоставит вам только IEnumerable, содержащий разрешенные сопоставления «Singleton» и «Trans»

2
ответ дан 8 December 2019 в 18:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: