我想将类的字段的setter作为参数传递给函数,以便该函数可以执行赋值。
有没有不使用反射的方法?
您不能直接通过二传手。
为了避免反射,您可以将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");
}
这对广义撕裂取舍的建议被批准,将可能尽快实施,并允许closurize getter和setter方法,如:
var setter = a#attr;
// and can be invoked like
setter(value)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句