kotlin覆盖protobuf类型toString

vac*_*ach 2 protocol-buffers kotlin

假设我们有一些生成的数据类protoc.

Googles toString()因多种原因而感到糟透,它的人性化程度不高,甚至在表示中添加了换行符,这会破坏日志和许多不期望多行日志的工具.

所以问题是:我们如何为类这样的类重新定义自定义toString()?

我试图toString()用这样的扩展函数覆盖(或者隐藏?)原始版本

fun Messages.DataClass.toString(): String {
    return "some custom logic"
}
Run Code Online (Sandbox Code Playgroud)

但它不会拿起扩展功能

yol*_*ole 5

使用Kotlin更改类中现有方法的实现是不可能的.类中定义的实例方法始终优先于具有相同签名的扩展函数.