你无法直接传递二传手.
为避免反射,您可以将setter包装在函数内:
class A {
String _attr=;
set attr(String v) => _attr = v;
}
main() {
final a = new A();
// create a wrapper function to set attr
final setter = (v) => a.attr = v;
callSetter(setter);
print(a._attr);
}
callSetter(setterFunction(value)) {
setterFunction("value");
}
Run Code Online (Sandbox Code Playgroud)
关于普遍撕下的这个提议已经获得批准,很可能很快就会实施,并且可以让吸气剂和制定者闭合,如:
var setter = a#attr;
// and can be invoked like
setter(value)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |