sargunv
06/29/2016, 2:12 PMA<X, Y>
which requires a B<X, Y>
which requires a C<X, Y>
. I want to bind many different types of A
without duplicating much code. So, I tried creating a fun <reified X, reified Y> bindIt(c: C<X, Y>)
that binds singletons C<X, Y>
, B<X, Y>
, and A<X, Y>
and I call it with bindIt<Foo, Bar>(C<Foo, Bar>())
. I expect this function to bind the singletons C<Foo, Bar>
, B<Foo, Bar>
, A<Foo, Bar>
but it binds them all as <X, Y>
instead of <Foo, Bar>
. So, when I try to inject something of type C<Foo, Bar>
, Kodein can't find any binding to use since it was bound to the generic type. Currently my workaround is to create a function that builds a concrete C
, but that has the problem of not binding the intermediate products A
,B
but only the final product C
.