[英]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...); 然而,事实并非如此。
您可以实现它,将U
和V
指定为QuestionPageBaseState
的类型参数,这会将它们传递给Question
:
abstract class QuestionPageBaseState<T extends Question<U, V>, U, V> {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.