[英]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.