1

我有一个集团,我想注册 DI:

@injectable
class ViewBloc<T> extends Bloc<ViewEvent, ViewState> { }

如您所见,ViewBloc采用通用类型参数T。问题是,当可注入注册依赖项时,它做错了:

gh.factory<ViewBloc<dynamic>>(() => ViewBloc<dynamic>();

默认情况下,它被赋予一个动态类型参数,但我希望能够自己提供类型。有没有办法做到这一点?

4

1 回答 1

-1

来自Injectable 文档

使用 Injectable(as:..) 内部的 'as' 属性传递由注册依赖项实现的抽象类型

@Injectable(as: Service)  
class ServiceImpl implements Service {}  
  
// or  
@Singleton(as: Service)  
class ServiceImpl implements Service {}  
  
// or  
@LazySingleton(as: Service)  
class ServiceImpl implements Service {}  
  

于 2021-09-29T12:54:34.940 回答