gpt4 book ai didi

dart - 多级符号的用例是什么?

转载 作者:行者123 更新时间:2023-12-03 03:43:24 25 4
gpt4 key购买 nike

词汇表:多级符号的含义是类似于#Dummy.bar而不是诸如#bar的单级。很抱歉,不知道什么是更好的名字。

符号非常漂亮。我可以:

class Foo {
static String hello() => "Said hello!";
}

ClassMirror clMir = reflectType(Foo) as ClassMirror();
print(clMir.invoke(#hello, []));

它打印“你好!”。大!

但是不能做到:

class Bar{
static final Bar bar = new Bar();
}

ClassMirror clMir = reflectType(Bar) as ClassMirror();
print(clMir.invoke(#bar.hello, []));

这将失败。

另外,我还没有找到可以反射多级符号的地方,例如 reflectSymbol(#Dummy.bar),可以获取InstanceMirror的bar或类似的东西。

那么多级符号有用例吗?

最佳答案

有不同的用例。
首先,它代表一个库名(library foo.bar.baz;)。镜像系统为此使用它(例如,参见https://api.dartlang.org/stable/1.20.1/dart-mirrors/MirrorSystem/findLibrary.html)。

其次,镜像系统有时会将其用作“合格名称”,例如library.name.ClassName.memberName,以表示确切的类或库成员(https://api.dartlang.org/stable/1.20.1/dart-mirrors/DeclarationMirror/qualifiedName.html)。

在镜像系统之外不是那么有用。

关于dart - 多级符号的用例是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40364555/

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