gpt4 book ai didi

function - Dart类中的静态调用方法(使类可调用)

转载 作者:行者123 更新时间:2023-12-02 06:18:11 24 4
gpt4 key购买 nike

对于嵌入式DSL,我希望类表现得像一个函数。对于实例(https://www.dartlang.org/articles/emulating-functions/)来说似乎很容易,但是我无法在类中实现它。我尝试创建一个静态调用方法,但这也不起作用。

有没有办法或者我必须给该类起另一个名字并使Pconst成为函数,并调用构造函数?

class Pconst {
final value;
Pconst(this.value);
static Pconst call(value) => new Pconst(value);

String toString() => "Pconst($value)";
}

void main() {
var test = Pconst(10);
// Breaking on exception: Class '_Type' has no instance method 'call'.

print("Hello, $test");
}

最佳答案

我会尝试这样的事情:

class _PConst{
final value;
_Pconst(this.value);

String toString() => "Pconst($value)";
}

PConst(value){
return new _PConst(value);
}

void main() {
var test = Pconst(10);

print("Hello, $test"); //should work ok
}

因此,您基本上只是将类构造函数隐藏/包装在沼泽标准函数的后面。

关于function - Dart类中的静态调用方法(使类可调用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372328/

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