Дарт доступ к функциям как объекты.Как их вызвать? - PullRequest
1 голос
/ 23 марта 2019

Я использую массив объектов, и один из объектов является функцией.Я пытался вызвать его обычным способом, но, похоже, он не работает.Я также попробовал приведение типов, оно тоже не сработало.

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

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

Мне нужно как-то вызвать функцию по индексу 1 списка.

Ответы [ 2 ]

2 голосов
/ 23 марта 2019

Это может делать то, что вы хотите

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

или просто

(list[1] as Function)('some string');
0 голосов
/ 23 марта 2019

Я только что нашел решение.Я пробовал приведение типов в формате Java, который, похоже, не работает на дротике.

Вот что я сделал,

List<Object> list = ['some other type of data', (String p) { /* do something */}];
Function f = list[1];
f('some string'); // This worked!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...