【发布时间】:2018-12-08 01:49:11
【问题描述】:
我有一个如下所示的通用静态方法:
static build<K>() {
return (GenericClass<K> param) => MyClass<K>(param);
}
到目前为止我已经尝试过:
typedef F = MyClass<K> Function(GenericClass<K> param);
但它说:
The return type '(GenericClass<K>) → MyClass<K>' isn't a '(GenericClass<dynamic>) → MyClass<dynamic>', as defined by the method 'build'.
和
typedef F = SimpleViewModel<K> Function<k>(Store<K> param);
上面写着:
The return type '(GenericClass<K>) → MyClass<K>' isn't a '<K>(GenericClass<K>) → MyClass<K>', as defined by the method 'build'.
MyClass 看起来像这样:
class MyClass<T> {
final GenericClass<T> param;
MyClass(this.param);
static build<K>() {
return (GenericClass<K> param) => MyClass<K>(param);
}
}
那么,什么是有效的typedef?
【问题讨论】:
-
我可能听起来很愚蠢,但这样做
typedef F<I> = MyClass<I> Function(GenericClass<I> param);和static F<K> build<K>() {...}对我来说很有意义,但我仍然无法解释原因。