首页 > 解决方案 > 如何指示函数变量的返回类型

问题描述

我已经声明了这样的函数变量;

final Function localVideo;

有没有办法表明这个函数有一个返回类型Widget

基于答案的当前代码是;

typedef LocalVideoReturnWidget = Widget Function();

class VideoLocalOverlay extends StatefulWidget {

  final LocalVideoReturnWidget localVideo;

const VideoLocalOverlay(
      {Key key,
      this.localVideo,...

这给出了错误

type '() => dynamic' is not a subtype of type '() => Widget'

计划将该功能用作

child: GestureDetector(
                    onTap: () {
                      print("Click");
                    },
                    child: widget.localVideo(),
                    ),

我之前定义的方式可以正常工作,没有任何错误。但由于某种原因,我无法让 GestureDetector 工作。我认为这可能是由于返回类型不清楚。

标签: functionflutterdartreturn-type

解决方案


将此添加到文件顶部

typedef int FunctionThatReturnInt(inputInt number);

另一种使用方式typedef

typedef FunctionThatReturnInt = int Function(inputInt number);

并使用类似的功能

final FunctionThatReturnInt localVideo;

在课堂内或您使用的任何地方


推荐阅读