[英]How to indicate the return type of a function variable
我已經像這樣聲明了 function 變量;
final Function localVideo;
有沒有辦法表明這個 function 的返回類型是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'
計划使用 function 作為
child: GestureDetector(
onTap: () {
print("Click");
},
child: widget.localVideo(),
),
我之前定義的方式可以正常工作,沒有任何錯誤。 但由於某種原因,我無法讓 GestureDetector 工作。 我認為這可能是由於返回類型不清楚。
將此添加到文件頂部
typedef int FunctionThatReturnInt(inputInt number);
使用typedef
的另一種方式
typedef FunctionThatReturnInt = int Function(inputInt number);
並使用 function 之類的
final FunctionThatReturnInt localVideo;
在 class 內或您使用的任何地方
這是你要找的嗎?
final Widget Function() localVideo;
或者,如果不需要參數,請改用:
final Widget VoidCallback localVideo;
使用typedef
:
typedef LocalVideo = Widget Function();
用法:
final LocalVideo localVideo;
首先
final Function localVideo;
會給您一個錯誤,因為當您將任何事物聲明為final
時,您應該為其初始化一個值。
這就是您使用返回類型 Widget 初始化 function 的方式。
Widget localVideo(String s1, int d1){
// function body
Widget widgetReturn;
return widgetReturn;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.