通用TypeDef不适用于自定义类

时间:2019-02-17 09:27:06

标签: generics dart flutter

我想创建一个通用的class(Test< T, F>),但要创建一个在类之外具有外部_cellBuilder typedef的变量(type(CellBuilder))。分配了testA的{​​{1}}运行正常,但正如屏幕快照所示,String失败了。

当我从testB中删除<Product>时,出现了另一个错误。

testB

非常令人困惑。有什么帮助吗?

enter image description here

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

1 个答案:

答案 0 :(得分:0)

应该是:

Widget testB(Product item)

不是通用函数:

Widget testB<Product>(Product item)

Product是通用标识符,而不是您期望参数使用的类型。

如果您以自定义方式编写:

Widget testB<T>(T item)

该错误现在应该有意义。