首页 > 解决方案 > 在 dart 中调用父构造函数之前执行代码

问题描述

我从飞镖开始,我想知道在调用父类的构造函数之前是否有任何方法可以执行代码。

我有一个从另一个继承的类,我想在必须传递给父类的参数之一上执行代码。

这就是我所拥有的

   MyOption(final List<String> opts,Map<String,dynamic> 
    attrs):super(opts,attrs){
    this.my_default = attrs['my_default'];
   }

这就是我想要的(python代码):

def __init__(self, *opts, **attrs):
  self.my_default = attrs.pop('my_default', None)
  super(MyOption, self).__init__(*opts, **attrs)

如您所见,我需要先从列表中删除一个元素,然后再将其作为参数传递给父类的构造函数。

可以在飞镖中完成吗?

标签: dart

解决方案


MyOption(final List<String> opts,Map<String,dynamic> attrs): this.my_default = attrs.remove('my_default'),super(opts,attrs){
    //this.my_default = attrs['my_default'];
  }

谢谢你。


推荐阅读