一个"缺少什么具体的实施"警告被压制?

时间:2015-05-16 09:43:17

标签: dart warnings

如何防止编译器抛出以下警告

  

缺少具体实施的setter' MyClass.field'并且得到了   ' MyClass.field'

以下代码?

{{1}}

3 个答案:

答案 0 :(得分:4)

实施noSuchMethod();当一个类有noSuchMethod()时,它会实现任何方法。我认为这也适用于getter / setter,因为它们只是特殊的方法(尽管我从未尝试过)。另请参阅here

答案 1 :(得分:2)

出现警告是因为你有一个没有实现其接口的类,并且没有声明 noSuchMethod方法。 继承该方法是不够的,你必须在类本身中声明它。

只需添加:

noSuchMethod(Invocation i) => super.noSuchMethod(i);

那应该关闭那个班级的警告。

答案 2 :(得分:0)

关于此警告(Dart Spec )

**如果具体类在其任何超接口中没有方法的实现,则它是一个静态警告,除非它声明了自己的noSuchMethod方法(10.10)。 **

因此,您可以在field课程中为getter MockMyClass 创建实现。