【问题标题】:Get function from function name in Flutter从 Flutter 中的函数名获取函数
【发布时间】:2018-06-30 11:54:49
【问题描述】:

对于跨平台(iOS、android)项目,我考虑使用DartFlutter 中的 UI 编程。

为了直接翻译当前的 Kotlin 代码,我想通过函数名来调用函数。更准确地说,我正在寻找如何编写函数 getFunctionByName 以使以下代码打印“答案是 42。”?

void function42(String s) {
    print(s + " 42.");
}

void main() {
    int number = 42;
    String calculatedFunctionName = "function" + number.toString();
    String calculatedArgument = "The answer is";
    Function f = getFunctionByName(calculatedFunctionName);
    f(calculatedArgument);
}

我尝试实现的works in Kotlin 似乎是work in Dart,但是当我在 Flutter 项目中尝试链接的 Dart 代码时,导入

import 'dart:mirrors';

对我不起作用。有一个完整的thread about reflection in Flutter,我这样解释,在写作时反射在 Flutter 中不起作用。但是对于我想做的特定事情,也许有一种解决方法?

【问题讨论】:

    标签: android ios kotlin dart flutter


    【解决方案1】:

    这在 Flutter 中是不可能的。 Flutter 禁用 dart:mirror 以使二进制文件更小。

    flutter(现在是 angulardart)使用代码生成作为替代方案。

    Dart 带有一个非常强大的代码生成器工具:build

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    • 2021-08-27
    • 2021-07-02
    • 2017-01-25
    • 2012-11-15
    • 1970-01-01
    • 2022-11-14
    相关资源
    最近更新 更多