2

考虑这个非扩展函数:

fun checkArguments(expression: Boolean) {
    if (!expression) {
        throw IllegalArgumentException()
    }
}

当我在 kotlin 和 java 中使用这个函数时,我可以看到它的参数名称:expression.

我还可以编写与扩展函数相同的功能:

fun Boolean.checkArguments() {
    if (!this) {
        throw IllegalArgumentException()
    }
}

当我以这种方式将它编写为扩展函数时,调用它的布尔值的参数名称(this函数内的变量,AKA 接收器)显示为$this$checkArguments. 如何为此参数添加 KDoc 文档注释?使用@param $this$checkArguments似乎没有记录它。

4

1 回答 1

1

您可以使用@receiver文件扩展功能的接收者。这是相关文档

例如:

/**
 * @receiver A String that is at least four characters long
 */
fun String.firstFour() = this.substring(0, 4)
于 2020-10-13T04:06:54.300 回答