Метод расширения не найден в расширенном классе - PullRequest
0 голосов
/ 05 августа 2020

У меня есть этот простой код, в котором я хочу использовать метод расширения в тестовом классе.

Хотя я не получаю никаких ошибок кода, я получаю ошибку компиляции.

Я запустил это на https://dartpad.dartlang.org/, но получил следующую ошибку:

Error compiling to JavaScript: main.dart:7:21: Error: Method not found: 'isTrue'. bool isItThough = isTrue(); ^^^^^^ Error: Compilation failed.

void main() {
   //print(Test().isTrue);
  print(Test().isItThough);
}

class Test {
  bool isItThough = isTrue();
}

extension on Test {
  bool isTrue() => true;
}

1 Ответ

2 голосов
/ 05 августа 2020

, если вы попытаетесь вставить этот код не в DartPad, а в IDE, может появиться предупреждение

The instance member 'isTrue' can't be accessed in an initializer. 

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

class Test {
  bool get isItThough => isTrue();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...