NoSuchMethodError: класс '_Type' не имеет экземпляра получателя 'imgPath'

Я пытаюсь получить доступ к полю с именем imgPath, которое находится в классе BusinessCard Вот код

class BusinessCard extends StatelessWidget {


 final String imgPath;
  final String bsnName;
  final String bsnDescription;
  final String bsnLocation;
  final String bsnReview;
  get _imgPath => imgPath;
  BusinessCard(
      this.imgPath, this.bsnName, this.bsnDescription, this.bsnLocation, this.bsnReview);
...}

Вот откуда я пытаюсь получить к нему доступ

class _DetailsTopPartState extends State<DetailsTopPart> {


    Color fcl = const Color(0xffff005d);
      Color lcl = const Color(0xffeb0ec6);
      Color txt = const Color(0xff042fc9);

  dynamic card = BusinessCard;

  decoration: BoxDecoration(
          image: DecorationImage(
            image: AssetImage(card._imgPath)
          ),}`

person Coder_Manuel    schedule 13.11.2019    source источник


Ответы (2)


Вы можете решить эту проблему, изменив свой код следующим образом

dynamic card = BusinessCard;

to

dynamic card = BusinessCard();

Фактически вы пытаетесь получить imagePath в BusinessCard, который является типом, а не значением. Вам необходимо создать экземпляр этого класса перед доступом к переменным экземпляра (вызывая конструктор по умолчанию с ExampleClass() или вызывая статический конструктор, например ExampleClass.fromTest(test)).

Вы можете узнать больше здесь

person Constantin N.    schedule 11.03.2020
comment
Спасибо...... - person Coder_Manuel; 22.05.2021

Похоже, вы не указали никакого параметра своему конструктору BusinessCard при объявлении переменной card. Также вы назвали свой получатель _imgPath. Во Flutter, если вы помещаете _ перед чем-то, это означает, что это частный объект, поэтому у вас нет доступа к нему извне из его класса.

person Guillaume Roux    schedule 13.11.2019