【发布时间】:2021-01-26 06:30:02
【问题描述】:
例如,我希望<T extends type> 可以这样工作:
Class Parent {
String data;
Parent({ this.data });
}
Class Child extends Parent {
Child({ this.data }) : Parent(data: data);
void showData() { print(data); }
}
T wrapper<T extends Parent>(String value) {
var result = T(data: value);
return result;
}
void main() {
var trial = wrapper<Child>("Hello world");
trial.showMessage(); // print "Hello world"
}
但事实证明它给了我var result = T(data: value); 的错误,说 T 不是函数。当我指定 时,我希望 T 可以像 Parent 类一样操作,如果我像 Child 一样提供它的后代,则完成的操作将改为 Child。但是构造函数会以任何一种方式工作,因为 T 扩展了 Parent。这样的事情可能吗?
【问题讨论】:
-
看看这是否可以帮助你:stackoverflow.com/a/28556110/6915572
-
@Shubhamhackz 很有趣。我需要先做一些实验。谢谢!