繁体   English   中英

Dart:泛型类型扩展了 class,其中包含泛型类型

[英]Dart: generic type extending a class with generic types in it

我有一个 class 定义如下:

abstract class QuestionPageBaseState<T extends Question<dynamic, dynamic>> {...

class Question定义如下:

abstract class Question<T, U> {...

是否可以用这样的通用类型替换dynamic ?:

abstract class QuestionPageBaseState<T extends Question<U, V>> {...

当我尝试时出现此错误: The name 'U' isn't a type so it can't be used as a type argument.

你看到错误是因为编译器不知道泛型类型从何而来,认为它是一个具体的 class(例如 int、double、String...); 然而,事实并非如此。

您可以实现它,将UV指定为QuestionPageBaseState的类型参数,这会将它们传递给Question

abstract class QuestionPageBaseState<T extends Question<U, V>, U, V> {}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM