我从Dart泛型函数中收到运行时错误:
Widget card = widget.cardBuilder(item);
哪个生成:
type '(Contact) => Widget' is not a subtype of type '(DeletableItem) => Widget'
Contact类定义为
class Contact
implements DeletableItem
{
然后我有一个方法:
class UndoableListView<T extends DeletableItem>
{
List<T> children;
final Widget Function(T item) cardBuilder;
这是运行时错误发生的地方
Widget buildItem(BuildContext context, int index) {
T item = children[index];
Widget card = widget.cardBuilder(item); <<<<< error thrown here.
我显然对仿制药的工作方式有误解。
联系人清楚地扩展了DeleteableItem。
那我做错了什么?