首页 > 解决方案 > 无法在扩展中创建方法

问题描述

只是想创建我自己的toString自定义类型版本。

好像我在这里遗漏了一些东西。

extension on WeatherResponse { 

@override
    String toString() {
       return "City Name is: $cityName";
     }
}

我得到错误:

    The method doesn't override an inherited method.
Try updating this class to match the superclass, or removing the override annotation.dartoverride_on_non_overriding_member

Extensions can't declare members with the same name as a member declared by 'Object'.

Try specifying a different name for the member.dartextension_declares_member_of_object

The declaration 'toString' isn't referenced.
Try removing the declaration of 'toString'.

标签: flutterdart

解决方案


如果你想覆盖 toString 方法,那么不要在扩展类中声明它,而是将它放在实际的类定义中。像这样;

class YourClass extends Object {
@override
String toString() ...
}

推荐阅读