Dart没有为该类定义方法'setRng'

时间:2019-11-13 05:55:39

标签: flutter dart setter

我上了一堂课,不知道为什么我的吸气剂很好,但是设置器显示为未在flutter中定义。

class Test {
  int range = 1000;

  set setRng(int val) => range = val;

  get getRng => range;
}

Test.getRng没有错误。.

Test.setRng(100)引发错误The method 'setRng' isn't defined for the class 'Test'

很明显,它们都是定义好的。?

1 个答案:

答案 0 :(得分:2)

在Dart中,您可以通过setter = value;设置设置者。因此,您的代码可以像这样修改:

test.setRng = 0;

字母和设置器使成员函数看起来像成员变量。按照惯例,它们可以具有类似名称的变量,例如:

class Test {
  int _range = 1000;

  set range(int val) => _range = val; // optionally perform validation, etc

  int get range => _range;
}

现在使用时看起来更自然:

test.range = 123; // using the setter
print(test.range); // using the getter