如何从类方法返回枚举元素?

简格

我想从类方法返回一个枚举元素,以进一步在其他类方法或函数中使用它。我如何返回枚举元素或正确使用它以获得与在下面的非“分类”示例中使用它相同的结果?

enum colors { RED, GREEN }

class testClass {
  colors _color;

  colors get color {
    return _color;
  }

  void setColor(colors color) {
    _color = color;
  }
}

main() {
  void test(colors color) {
    switch (color) {
      case colors.RED:
        {
          print('RED');
        }
        break;
      case colors.GREEN:
        {
          print('GREEN');
        }
        break;
    }
  }

  test(colors.RED);

  testClass abc;
  abc.setColor(colors.GREEN);

  test(abc.color);
}

当我执行 Codesnipped 时,我的假设是,我得到 RED 和 GREEN 的输出。相反,我得到以下信息:

$ 飞镖测试.dart

红色的

未处理的异常:NoSuchMethodError:在 null 上调用了方法“setColor”。接收者:null 尝试调用:setColor(Instance of 'colors')

priyeshdkr

默认情况下,abc 的值引用为 null。因为它没有初始化。您需要初始化 abc 对象,如下所示:

testClass abc = testClass();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章