【发布时间】:2020-03-04 08:23:24
【问题描述】:
我有这个功能:
U on<T, U> (T value, T defaultValue, U Function (T value) builder) => builder(value ?? defaultValue);
如果我这样使用它:
var a = "Hello";
var b = "World";
final result = on(a, b, (value) => Text(value))
在构建器回调参数中,值类型始终是动态的。为什么它不能和参数a和b有相同的类型?
【问题讨论】:
-
需要澄清:为什么将“Hello”分配给整数类型变量?你应该改用 var a="Hellow";
-
@Darish 已修复。我一开始使用的是 int 示例,但后来中途切换到 string 以便更容易提供给 Text 小部件。
-
事件虽然类型是动态的,但它不会给你带来任何问题。您可以将其转换为实际类型,例如 String。你面临什么问题?
-
final result = on<String, Text>(a, b, (value) => Text(value));将解决问题 -
@Darish 问题是类型转换失败。 (无法将动态转换为字符串或类似的东西,这就是我问这个的原因)
标签: function flutter types parameters