【问题标题】:"Invalid constructor name" error in Dart/FlutterDart/Flutter 中的“无效的构造函数名称”错误
【发布时间】:2018-08-25 15:23:47
【问题描述】:

我开始学习 Flutter,而 Flutter 又使用 Dart 作为其语言,所以我可以说我在同时学习两者。为此,我使用的是 Android Studio 3.0.1。

我一直在构建一个应用程序作为工作概念证明,但发现了一个让我目瞪口呆的错误。

我有一个自定义类,它是另一个包含第一个列表的类的基础。随后,此类将用于在我的应用程序中提供 ListView。

当我尝试将该自定义类的新元素添加到列表中时,我收到一条错误消息,指出我创建的列表的变量是“无效的构造函数名称”!它不应该是构造函数,所以我不明白发生了什么。

我不知道我是不是把语言的某些功能弄错了,或者我的 OOP 知识(目前有点生疏,我正在努力加快速度,毕竟我'我主要是一个 NATURAL/ADABAS 程序员)还不足以理解我做错了什么,所以任何见解都将不胜感激。

这是包含相关类的代码的 sn-p。

class Aluno {
  final int numDiario;
  final String nomeAluno;
  final String codAluno;

  Aluno ({
    this.numDiario,
    this.nomeAluno,
    this.codAluno,
  });
}

class Alunos  {
  final _alunos = <Aluno>[];

  static int nDiario;

  static int _incNumDiario(){
    return nDiario++;
  }

  static var nAl = new WordPair.random();
  static String nomeAluno = '$nAl.first $nAl.second';

  Aluno aluno = new Aluno(numDiario: _incNumDiario(),nomeAluno:  nomeAluno, codAluno: nDiario.toString());

  _alunos.add(aluno); //Here's where the error happens!
}

这是我得到的错误:

error: Invalid constructor name. (invalid_constructor_name at [dd_movel] lib\abas\frequencia\linha_presencao.dart:32)

这是“颤振医生”的输出:

C:\Users\p001385\flutter\bin\flutter.bat --no-color doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel beta, v0.1.5, on Microsoft Windows [versão 6.1.7601], locale pt-BR)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.0)
[√] Connected devices (1 available)

• No issues found!
Process finished with exit code 0

谢谢大家!

【问题讨论】:

  • 类定义中只能使用静态方法或变量。您正在尝试将 Aluno 添加到定义中 Alunos 的列表中,这不是 .可能。
  • 哦!我懂了!!因此,如果我创建了一个方法并将新的 Aluno 实例添加到此方法内的列表中,它将起作用!谢谢!

标签: android oop mobile dart flutter


【解决方案1】:

或者在构造函数中初始化列表。

Alunos() {
    Aluno aluno = new Aluno(numDiario: _incNumDiario(),nomeAluno:  nomeAluno, codAluno: nDiario.toString());
    _alunos.add(aluno); 
  }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-03
    • 2022-11-23
    • 2020-10-30
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    相关资源
    最近更新 更多