flutter - 无法在扩展中创建方法
问题描述
只是想创建我自己的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'.
解决方案
如果你想覆盖 toString 方法,那么不要在扩展类中声明它,而是将它放在实际的类定义中。像这样;
class YourClass extends Object {
@override
String toString() ...
}
推荐阅读
- python - Paramiko 是否支持基于证书的身份验证
- asynchronous - 带有 Async 和 Option 的 F# 程序流程问题
- python - 有没有办法将令牌插入到可以忽略的数据框中的空值中?
- ssl - curl 无法识别 subjectAltName
- javascript - 从匿名函数中提取变量?
- javascript - 使用 puppeteer-cluster 时出现重复“导航失败,因为浏览器已断开连接”错误
- mariadb-10.3 - MariaDB 10.3.16 使用单个数据条目插入多行
- python - 在python中生成随机除法问题
- javascript - 如何将 Luxon 时区选项与 chart.js 结合?
- amazon-web-services - 亚马逊运动和亚马逊极光有什么区别?什么是 Kinesis 活动流?