0

在类声明中,我找到了有关该属性"DeclarationMirror"的这些文档。"owner"

For a `parameter`, `local variable` or `local function` the owner is
the immediately enclosing function.

我无法理解如何解释此信息,因为我找不到有关如何通过 Dart 镜像库反映以下声明的文档。

  1. Local variable
  2. Local function

我应该如何解释这些terms应用于该库的实际使用?

  1. 关于必须在未来实施但由于多种原因目前尚未实施的声明的通知。
  2. 信息不可靠,不能被视为文档。

我对项目#1 更感兴趣。

如果这是一个真实的文档,但不是不可靠的信息,那么我在哪里可以找到基于这些文档的信息?

也就是说,文档local variableslocal functions 镜像声明中描述的信息在哪里?

I am about how to reflect them from their owners.

鉴于其目的,我希望我非常正确地提出了有关官方文档的问题。

如果有另一种方式来描述这一点,我会很高兴听到它。

PS 这个问题问的原因是官方文档中没有其他可用信息。

附言

代码示例:

var clazz = reflectClass(MyClass);
var method = clazz.declarations[#myMethod];
// How to reflect mentioned in documentation local variable?
var localVariable = method.declarations[#myLocalVariable];

代码示例只是一个示例,但官方文档更类似于法律。必须清楚地解释。

4

1 回答 1

0

正如我所看到的:

直接封闭的函数确实是局部变量和局部函数的所有者。但这不包括你可以通过反思来掌握它们。

我尝试将本地函数分配给类的一个字段,然后尝试使用反射来获取该函数。我得到了该字段,但不知道如何获取该字段引用的值(本地函数)也许这是可能的,但我找不到如何。如果这可行,则所有者可能是封闭函数。

AFAIR 在某处进行了讨论,目前无法使用反射访问本地成员,但我对此不太确定。我还想我在某处看到如果有任何用处,您可以将函数的来源作为文本获取......

于 2013-12-05T16:25:44.057 回答