【问题标题】:Function field return type in DartDart 中的函数字段返回类型
【发布时间】:2018-11-12 10:57:51
【问题描述】:

在下面的类中,我想将 onPress 方法键入为返回 void 的函数。有没有办法做到这一点?

class Human {
  var onPress;

  Human({
    this.onPress,
  });
}

【问题讨论】:

    标签: dart flutter


    【解决方案1】:
    class Human {
      void Function() onPress;
    
      Human({
        this.onPress,
      });
    }
    

    typedef VoidFunction = void Function();
    
    class Human {
      VoidFunction onPress;
    
      Human({
        this.onPress,
      });
    }
    

    【讨论】:

    • 很好,OR 部分非常适合自定义返回类型。谢谢
    【解决方案2】:

    与 Remi 的声明相同,Flutter 中已经声明了 VoidCallback typedef。

    所以你可以把它声明为:

    VoidCallback onPress;
    

    但是,如果你想传入参数,你应该设置自己的 typedef。

    【讨论】:

      【解决方案3】:

      VoidCallback onPress 有效,但您也可以像这样使用Function onPress

      class Human {
        Function onPress;
      
        Human({
          this.onPress,
        });
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-07-28
        • 2018-07-24
        • 1970-01-01
        • 2015-08-10
        • 2022-01-12
        • 1970-01-01
        • 1970-01-01
        • 2021-12-17
        相关资源
        最近更新 更多