Как установить значение по умолчанию в функции - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь установить значение по умолчанию в функции:

bool isOnGoing([DateTime date = DateTime.now()]) {
    ...
}

Но студия возвращает «Значения по умолчанию для необязательного параметра должны быть постоянными».

Как установить параметр по умолчанию в этомслучай

1 Ответ

0 голосов
/ 08 октября 2018

Синтаксис, который вы используете, правильный, но, как говорится в сообщении об ошибке, значение должно быть постоянной времени компиляции.

Постоянная времени компиляции не имеет смысла для DateTime.now().

В качестве обходного пути вы можете использовать:

/// Returns `true` is still going on.
///
/// [date] the date to check.
///   as default value `DateTime.now()` is used 
///   if no value or `null` was passed.
bool isOnGoing([DateTime date]) {
    date ??= DateTime.now();
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...