GetIt/Injectable 在抽象类上缺少可注入装饰器?
Posted
技术标签:
【中文标题】GetIt/Injectable 在抽象类上缺少可注入装饰器?【英文标题】:GetIt/Injectable missing injectable decorator on abstract class? 【发布时间】:2021-07-03 05:09:59 【问题描述】:我正在使用GetIt 和Injectable,但我在使用 GetIt 时遇到了一些问题。
似乎我没有注册我的DiscordRepository
类,但我不能用@injectable 装饰器注册它,因为它是一个抽象类。
这种情况我该怎么办?
我这样初始化我的依赖注入:
final getFromDependencyGraph = GetIt.instance;
@injectableInit
Future<void> setupDependencyInjection() async
await $initGetIt(getFromDependencyGraph);
flutter pub run build_runner build
给我这个输出:
[WARNING] injectable_generator:injectable_config_builder on lib/misc/dependencies.dart:
Missing dependencies in discordlogin/misc/dependencies.dart
[AuthenticationService] depends on unregistered type [DiscordRepository] from package:discordlogin/data/repository/discord_repository.dart
Did you forget to annotate the above class(s) or their implementation with @injectable?
我的完整代码在这里:https://github.com/BLKKKBVSIK/DiscordLogin 为网络构建它。然后启动应用并点击屏幕右下角的FAB以查看应用中的错误。
【问题讨论】:
我也有类似的问题,你解决了吗? 嗨!我仍然没有,但自从我切换项目以来我没有深入研究这个问题!如果你找到了解决办法,你能把它寄到这里吗?将不胜感激。 你有没有找到任何独奏? @DuyNguyen 我没有 【参考方案1】:对我来说,在颤振 2.0 之后,该项目是一个由一些插件自动更改为 null-safety 的问题,它提供了不必要的字段,即 null-safety(?),在我清理之后警告消失了
【讨论】:
以上是关于GetIt/Injectable 在抽象类上缺少可注入装饰器?的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHPUnit 测试受保护方法的最佳实践(在抽象类上)
如何从 iOS Swift Codable 中的 API 响应通知或打印模型类上缺少的密钥?