Я экспериментирую с кинжалом в Котлине.
Допустим, я хочу сделать что-то простое:
модуль:
@Binds
abstract fun bindNotificationCreator(creator: NotificationCreator): NotificationCreatorBinder
использование:
@Inject
lateinit var creator: NotificationCreatorBinder
NotificationCreator:
class NotificationCreator @Inject constructor(): NotificationCreatorBinder
Проблема в том, что мне нужно создать отдельный файл для интерфейса.
Можно ли объявить класс и интерфейс в одном файле дляиспользование в кинжале @Bind
?
примерно так:
interface Binder{
//TODO
}
class NotificationCreator @Inject constructor(): Binder
, а затем:
@Binds
abstract fun bindNotificationCreator(creator: NotificationCreator): NotificationCreator.Binder
, но я не могу получить доступ к NotificationCreator.Binder
снаружи NotificationCreator
класс