Flutter 如何从类方法返回枚举元素?
我想从类方法返回一个枚举元素,以便在其他类方法或函数中进一步使用它。如何返回enum元素或正确使用它以获得与在下面的非“分类”示例中使用它相同的结果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 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();