在课程"DeclarationMirror"
的声明中,我找到了关于"owner"
属性的这些文档。
For a `parameter`, `local variable` or `local function` the owner is
the immediately enclosing function.
我无法理解如何解释这些信息,因为我无法通过Dart镜像库找到关于如何反映以下声明的文档。
Local variable
Local function
我应该如何解释这些terms
适用于此库的实际用途?
我对第1项更感兴趣。
如果这是一份真实的文件但不是不可靠的信息,那么我可以在哪里找到基于这些文件的信息?
也就是说,文档local variables
和local functions
镜像声明中描述的信息在哪里?
I am about how to reflect them from their owners.
鉴于其目的,我希望我能正确地询问有关官方文件的问题。
如果存在另一种描述方式,我会很高兴听到它。
P.S。 这个问题询问了官方文档中没有其他可用信息。
P.S。
代码示例:
var clazz = reflectClass(MyClass);
var method = clazz.declarations[#myMethod];
// How to reflect mentioned in documentation local variable?
var localVariable = method.declarations[#myLocalVariable];
代码示例只是一个示例,但官方文档更类似于法律。必须清楚地解释它。
答案 0 :(得分:0)
我看到了:
立即封闭的函数确实是局部变量和局部函数的所有者。 但这并不包括您可以通过反思来掌握它们。
我尝试将一个本地函数分配给该类的一个字段,然后尝试使用反射来获取该函数。我得到了字段,但不知道如何获取字段引用的值(本地函数) 也许这是可能的,但我找不到如何。 如果这样可行,那么所有者可能就是封闭的功能。
AFAIR在某个地方进行过讨论,目前无法使用反射访问本地成员,但我对此并不十分肯定。 我也认为我看到某个地方你可以将函数的来源作为文本,如果它有用的话......