#flutter #dart
#flutter #dart
Вопрос:
Я новичок в Dart. Допустим, у меня есть final List <Character> _characterList;
, который должен быть частным. Но как мне использовать CharacterList ({Key key, this._characterList}): super (key: key);
, если именованный параметр не может начинаться с _?
Ответ №1:
Имя параметра не зависит от имени элемента. Конструкторы предлагают this.name
синтаксический сахар для удобства, если имена совпадают, но вам не обязательно это использовать. Вы можете присвоить параметру его собственное имя и явно инициализировать переменную-член отдельно:
CharacterList({Key? key, required List<Character> characterList})
: _characterList = characterList,
super(key: key);
final List<Character> _characterList;
Ответ №2:
Это ограничение Dart
Named optional parameters can't start with an underscore
Вместо этого вы можете использовать конструктор с необязательным позиционным параметром
CharacterList (Key key, [this._characterList]): super (key: key)