gpt4 book ai didi

android - 如何在 Kotlin 中为 Any 类型声明扩展 val

转载 作者:行者123 更新时间:2023-12-04 23:52:02 28 4
gpt4 key购买 nike

据我所知,键入 AnyKotlin类似于 Objectjava默认情况下,它由我们声明的任何类实现。我想把类名扩展成一个新的val classTag .因此,

当我扩展一个函数时,它工作正常,

fun Any.getClassTag(): String { return this::class.java.simpleName }

但是当我扩展 val 时,我发现编译器错误。类型。
val Any.classTag: String { return this::class.java.simpleName }

Function declaration must have a name



如何处理?

最佳答案

您将在这一行中遇到几个错误:

Error:(1, 0) Extension property must have accessors or be abstract
Error:(1, 23) Property getter or setter expected
Error:(1, 24) Expecting a top level declaration
Error:(1, 25) Function declaration must have a name
Error:(1, 34) 'this' is not defined in this context

这是因为您没有正确声明访问器:
val Any.classTag: String get() { return this::class.java.simpleName }

您只需添加 get()访问器就在您的 block 之前。

关于android - 如何在 Kotlin 中为 Any 类型声明扩展 val,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56748176/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com