Dart,在简单的类示例中,只能在初始化程序中访问静态成员 [英] Dart, Only static members can be accessed in initializers in simple class example

查看:239
本文介绍了Dart,在简单的类示例中,只能在初始化程序中访问静态成员的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在下面的代码中,

class SimpleClass {
  final String ID;

  BusInformationScreen({this.ID});

  var output = ID;
}

我遇到错误
仅静态成员可以在初始化器中访问。

所以我在下面调整了代码。

so i adjusted code like this below.

class SimpleClass {
  static final String ID;

  var output = ID;
}

我想如果我声明 ID 作为静态,它不必初始化它,但我遇到这样的错误。

I thought if i declare ID as a static, It doesn't have to initialize it but i got an error like this.

The final variable 'ID' must be initialized.

我无法声明变量 output

class SimpleClass {
  final String ID;
  final String output;
  SimpleClass_2 simpleclass_2 = SimpleClass_2(parameter: ID), SimpleClass_2 simpleclass_2 = SimpleClass_2(parameter: ID);

  SimpleClass({this.ID}): output = ID;
}

class SimpleClass_2 {
  final parameter;

  SimpleClass_2({
    this.parameter
  });
}


推荐答案

(我假设 BusInformationScreen 应该是 SimpleClass 的构造函数)

(I'm gonna assume BusInformationScreen is supposed to be the constructor for SimpleClass )

问题是

var output = ID;

您要设置输出的值在构建类之前。您可以在初始化列表中进行设置:

You're trying to set the value for output before the class has been constructed. You can set it in the initializer list instead :

  SimpleClass({this.ID}):
        output= ID;

这篇关于Dart,在简单的类示例中,只能在初始化程序中访问静态成员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆