如何解决如何在 Dart 中为条件导入设置自定义属性?
Dart 允许使用标准库名称进行条件导入/导出,如下所示:
AND NOT (status <=> 'pending-update')
我有一个项目,我想将其拆分为两个变体:Flutter 变体和纯 Dart 变体。变体的选择取决于编译时,抽象类的必要实现在编译时定义。
解决方法
自定义属性是 Dart 1 中的一项实验性功能。在 Dart 2 中,编译时不再支持用户定义的自定义条件。
Here 是参考您的问题的讨论。
您所能做的就是在运行时在实现之间切换:
abstract class SomeFactory {
String get message;
factory SomeFactory() {
if(Platform.environment['SOME_VAR'] != null)
return new _SomeImplementation();
return new _SomeOtherImplementation();
}
}
class _SomeImplementation implements SomeFactory {
@override
String get message => 'SomeImplementation';
}
class _SomeOtherImplementation implements SomeFactory {
@override
String get message => "OtherImplementation";
}
查看this blog entry了解更多详情。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。