gpt4 book ai didi

dart - Getter/Setter 函数引用

转载 作者:行者123 更新时间:2023-12-04 13:52:23 26 4
gpt4 key购买 nike

我在我的数据模型中定义了以下变量和 getter/setter:

class Actor {
int _x;
int get x => _x;
set x(int value) => _x = value;
}

还有这个通用类需要一个 getter/setter 函数指针

class PropertyItem {
var getterFunction;
var setterFunction;
PropertyItem(this.getterFunction, this.setterFunction);
}

如何将 X 的 getter/setter 函数的引用传递给 PropertyItem 类?

// Something like this
var item = new PropertyItem(x.getter, x.setter);

编辑:更新了一个更明确的问题

最佳答案

简而言之,你没有。
getter 和 setter 是不可提取的——它们与仅仅拥有一个字段是没有区别的(当然,如果你不做副作用的话)。

在你的例子中,你可以这样做:

class Actor {
int x;
}

并获得完全相同的效果。

你想要的是,对于一些 Actor “ Actor ”,自己制作功能:

var item = new PropertyItem(() => actor.x, (v) { actor.x = v; });

proposal about generalized tear offsapproved并且可能很快就会实现,并允许关闭 getter 和 setter,例如:

var item = new PropertyItem(actor#x, actor#x=);

关于dart - Getter/Setter 函数引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13545859/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com