我无法理解如何解释Dart SDK镜像库上的文档

时间:2013-12-05 16:08:38

标签: dart dart-mirrors

在课程"DeclarationMirror"的声明中,我找到了关于"owner"属性的这些文档。

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

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

  1. Local variable
  2. Local function
  3. 我应该如何解释这些terms适用于此库的实际用途?

    1. 注意未来必须实施的声明,但由于多种原因,目前尚未实施。
    2. 信息不可靠,不能被视为文件。
    3. 我对第1项更感兴趣。

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

      也就是说,文档local variableslocal 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];
      

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

1 个答案:

答案 0 :(得分:0)

我看到了:

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

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

AFAIR在某个地方进行过讨论,目前无法使用反射访问本地成员,但我对此并不十分肯定。 我也认为我看到某个地方你可以将函数的来源作为文本,如果它有用的话......