在Dart中,如果MyWidget是Widget类型,为什么(BuildContext,ViewModel)=> MyWidget不是(BuildContext,dynamic)=> Widget的子类型?

时间:2019-01-07 02:05:20

标签: types dart

在Dart中,如果:

MyWidget的类型为Widget

那为什么:

(BuildContext, ViewModel) => MyWidget

不是不是的子类型:

(BuildContext, dynamic) => Widget吗?

该如何解决?

1 个答案:

答案 0 :(得分:0)

由于dynamicViewModel的超类型,因此在需要接受(BuildContext, ViewModel)的函数时,不能使用接受(BuildContext, dynamic)作为参数的函数。可以使用不是ViewModel实例的第二个参数来调用后者。

因此,问题出在参数上,而不是返回类型上。