1

如果我们使用 KotlinPoet 创建像这样的变量,我正在尝试自动生成类:

class test {
   var testObj: CustomObject = CustomObject().apply { custom = "custom" }
}

到目前为止,我已经尝试查看 KotlinPoet 中的 PropertySpec,但在最后调用时找不到任何生成变量的函数apply()

这甚至可能吗?

4

1 回答 1

0

PropertySpec.Builder有一个initializer()您应该在这种情况下使用的方法,但是,没有专门的 API 用于生成包含apply块的初始化程序。有关如何为您的初始化程序生成代码的更多信息,请参阅CodeBlock文档,此外还有许多在KotlinPoet 的单元测试中生成类似构造的示例,您可以从中获得灵感。

于 2020-08-03T14:48:01.667 回答