Как сделать так, чтобы параметр именованного метода требовал изменения?

#flutter #dart #methods #parameters #named

#flutter #dart #методы #параметры #именованный

Вопрос:

 void checkIfAllValsAreIn(
    { Map<> map,
    bool isBool,
    Function() callback}) async {...}
 

Как мне сделать любой из этих именованных параметров обязательным при вызове?

Ответ №1:

Сделайте их @required

 import 'package:meta/meta.dart';
void checkIfAllValsAreIn(
    { @required Map<> map,
    @required bool isBool,
    @required Function() callback}) async {...}
 

Ответ №2:

Попробуйте добавить в тело:

 assert(isBool != null);
 

Комментарии:

1. Это не работает, но первый ответ работает. Спасибо.

2. 1. Это будет проверка во время выполнения, а не во время сборки. 2. Может ли аргумент быть нулевым, не зависит от того, требуется ли он. Например, вы можете потребовать, чтобы вызывающие пользователи всегда указывали аргумент, но разрешали им явно передавать значение null .