Дарт: Как ссылаться на функцию с аргументами, не вызывая ее? - PullRequest
1 голос
/ 26 апреля 2020

Как мне ссылаться на функцию dart с аргументами, не вызывая ее? Легко ссылаться на функцию без параметров, но когда я передаю параметр, я не могу остановить его вызов.

void main() {
  Function refA = funA; // Doesn't invoke
  Function refB = funB("funB"); // It prints "funB"
}

funA() {
  print("funA");
}

funB(String string) {
  print(string);
}

Это нормально для refA, но как мне сделать это для refB?

1 Ответ

2 голосов
/ 26 апреля 2020

Когда вы ставите квадратные скобки после имени функции, она выполняет функцию и возвращает значение этого выполнения. Попробуйте, что с funA

Function refA = funA();

он будет вызван. для ссылки funB() вы бы сделали это:

Function refB = funB;

, затем вы можете вызвать функцию следующим образом:

refB('Text');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...