gpt4 book ai didi

dart - 在Dart中,setter方法生成的名称是什么?

转载 作者:行者123 更新时间:2023-12-03 04:31:57 27 4
gpt4 key购买 nike

如果我有一个定义了setter的类,那么如何从该类的实例引用生成的方法作为函数。规范建议这将是变量+'=的ID(似乎很愚蠢),但这不会解析。

因此,例如:

class Bar {

set foo(int value) {
//whatever
}
}

typedef F(int value);

void main() {
F f = new Bar().foo=; //Fails, but what should this be??
f(5);
}

最佳答案

setter 的名称为foo=,但这不是您可以引用的方式。即使查看dart:mirrors,MethodMirror(包括setter的对象方法的镜像)也无法调用它。您可以轻松地将其重写为:

class Bar {

set foo(int value) {
//whatever
}
}

typedef F(int value);

void main() {
Bar b = new Bar();
F f = (int value) => b.foo = value;
f(5);
}

关于dart - 在Dart中,setter方法生成的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12539459/

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