从Flutter中的函数名称获取函数

时间:2018-06-30 11:54:50

标签: android ios kotlin dart flutter

对于跨平台(iOS,Android)项目,我考虑在Dart中将Flutter与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中不起作用。但是对于我想做的特定事情,也许有解决方法吗?

1 个答案:

答案 0 :(得分:2)

这在Flutter中是不可能的。 Flutter禁用uk来缩小二进制文件。

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

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