Dictionary 映射函数类型中的Dart类继承 class A{} 类B扩展了{} 无效fA(A){} void fB(B){} 最终映射m={'test':fB};
在上面的示例中,将Dictionary 映射函数类型中的Dart类继承 class A{} 类B扩展了{} 无效fA(A){} void fB(B){} 最终映射m={'test':fB};,dictionary,inheritance,dart,polymorphism,type-systems,Dictionary,Inheritance,Dart,Polymorphism,Type Systems,在上面的示例中,将fA分配给'test'有效,但fB会产生错误: 元素类型'(B)→ 无法将void“分配给映射值类型”(A)→ 作废“ 有没有办法指定值类型是一个函数,该函数采用的参数是或扩展了a 我还尝试了无效函数(T),但这会产生另一个错误: 泛型函数不能是类型参数 我发现让项目编译的唯一方法是在赋值时强制转换值,这似乎违背了类型检查的目的,因为在这种情况下,值类型也可能是动态的: final Map m={ “测试”:fB为空函数(A), }; 可能值得记录为Dart编译器错误。可能值得
fA
分配给'test'
有效,但fB
会产生错误:
元素类型<代码>'(B)→ 无法将void“分配给映射值类型”(A)→ 作废“
有没有办法指定值类型是一个函数,该函数采用的参数是或扩展了a
我还尝试了无效函数(T),但这会产生另一个错误:
泛型函数不能是类型参数
我发现让项目编译的唯一方法是在赋值时强制转换值,这似乎违背了类型检查的目的,因为在这种情况下,值类型也可能是动态的:
final Map m={
“测试”:fB为空函数(A),
};
可能值得记录为Dart编译器错误。可能值得记录为Dart编译器错误