Dart访问函数作为对象。如何调用它们?

问题描述 投票:1回答:2

我正在使用一个对象数组,其中一个对象是一个函数。我尝试以正常方式调用它但它似乎不起作用。我也试过类型铸造它也没用。

List<Object> list = ['some other type of data', (String p) { /* do something */}];

list[1]('some string'); // Expression doesn't evaluate to a function

我需要以某种方式调用列表索引1处的函数。

function object dart
2个回答
2
投票

这可能会做你想要的

(list[1] as void Function(String))('some string'); 

要不就

(list[1] as Function)('some string');

0
投票

我刚刚找到了解决方案。我已经尝试过java方式的类型转换,它似乎不适用于飞镖。

这就是我做的,

List<Object> list = ['some other type of data', (String p) { /* do something */}];
Function f = list[1];
f('some string'); // This worked!
© www.soinside.com 2019 - 2024. All rights reserved.