繁体   English   中英

颤振可注入寄存器子类类型

[英]flutter injectable register subclasses types

以下代码使用injectable来配置getIt,因此当我在“prod”环境中要求A时,它给了我ImplementedA ,但我不能明确要求ImplementedA

例如,当我在“测试”环境中并且我需要ImplementedA来测试它时。 它无法访问。 请问有什么解决办法吗?

abstract class A {}

@Injectable(as: A, env: ["prod"])
class ImplementedA extends A {}

例如:
环境:“产品”
getIt() => 给了我 ImplementedA
getIt() => 类型为 ImplementedA 的对象/工厂未在 GetIt 中注册。

您不能决定注入 A 的子类型。因为 A 的子类型不可注入。 你应该注入 A 并且注入必须决定 A 会给出什么样的子类型。

如果你特别需要ImplementedA,你也必须将它标记为@injectable。 (不是:A)。 否则,您可以将特定方法移至扩展的 A 类中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM