abstract class ParentClass {
Function _onChangeListener;
set onChangeListener(Function value) {
_onChangeListener = value;
}
}
class ChildClass extends ParentClass {
/// Some fancy stuff
function testChangeListenerAccess() {
onChangeListener(testListener)/// error, The method onChangeListener is not defined.
}
function testListener() {
}
}
class SomeWidget {
final ChildClass child = new ChildClass();
@override
Widget build(BuildContext context) {
child.onChangeListener(onChange); /// Error with .onChangeListener. The method onChangeListener is not defined.
}
void onChange(){
/// do fancy stuff
}
}
由于某种原因,我似乎无法调用.onChangeListener。如果将其作为常规方法添加到ParentClass,则可以引用新方法。
清除上面我的意思。如果我将以下内容添加到ParentClass:
void onChangeListener(Function value){}
SomeWidget#build中的调用不会发生错误。我在做什么错了?
答案 0 :(得分:1)
设置器与void
函数不同。
child.onChangeListener = onChange;
应该可以解决问题。