使用 KotlinPoet 为 Kotlin 创建静态扩展 属性
Creating a static extension property for Kotlin with KotlinPoet
我是 KotlinPoet 的新手。
我想使用 KotlinPoet 以编程方式生成以下代码:
public val MyClass.Companion.classID: Long
get() = 0x100
不幸的是,经过多次尝试,我还没有找到一种方法来创建 class 的伴随对象。
也许有人知道一个可能的解决方案,或者这不能用 KotlinPoet 实现吗?
Companion
只是一个嵌套的 class,因此您可以使用 ClassName.nestedClass()
:
创建一个代表同伴的 ClassName
val myClass = ClassName(packageName = "", "MyClass")
val companion = myClass.nestedClass("Companion")
println(companion) // MyClass.Companion
我是 KotlinPoet 的新手。
我想使用 KotlinPoet 以编程方式生成以下代码:
public val MyClass.Companion.classID: Long
get() = 0x100
不幸的是,经过多次尝试,我还没有找到一种方法来创建 class 的伴随对象。
也许有人知道一个可能的解决方案,或者这不能用 KotlinPoet 实现吗?
Companion
只是一个嵌套的 class,因此您可以使用 ClassName.nestedClass()
:
ClassName
val myClass = ClassName(packageName = "", "MyClass")
val companion = myClass.nestedClass("Companion")
println(companion) // MyClass.Companion