2014-03-05 20 views

回答

5

你不能直接通過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"); 
} 

proposal about generalized tear offsapproved並可能會盡快實施,並允許closurize getter和setter方法,如:

var setter = a#attr; 
// and can be invoked like 
setter(value) 
+0

感謝確認。 –

相關問題