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

Flutter 如何从类方法返回枚举元素?,flutter,dart,enums,Flutter,Dart,Enums,我想从类方法返回一个枚举元素,以便在其他类方法或函数中进一步使用它。如何返回enum元素或正确使用它以获得与在下面的非“分类”示例中使用它相同的结果 enum colors { RED, GREEN } class testClass { colors _color; colors get color { return _color; } void setColor(colors color) { _color = color; } } main()

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

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);
}
当我执行代码截取时,我的假设是,我得到红色和绿色的输出。相反,我得到了以下结果:

$dart test.dart

红色的

未处理的异常: NoSuchMethodError:方法“setColor” 在null上调用了。 收件人:空 已尝试调用:setColor(的实例
“颜色”)

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

testClass abc = testClass();

因为你的abc对象是空的?试试这个:testClass abc=testClass();