在 Flutter 中,可以使用泛型来限定 Widget 关联的数据类型。例如,如果我们想让一个 Widget 只能包含一种特定类型的 Child,可以这样定义 Widget:
class MyWidget<T extends Widget> extends StatelessWidget {
final T child;
MyWidget({required this.child});
@override
Widget build(BuildContext context) {
return child;
}
}
其中,我们使用了泛型 <T>
来限定 Child 的类型,使它必须是 Widget 或 Widget 的子类。通过这种方式,我们可以确保在使用 MyWidget 的时候,只能传入特定类型的 Child。