问题描述
考虑此非扩展功能:
fun checkArguments(expression: Boolean) {
if (!expression) {
throw IllegalArgumentException()
}
}
当我在kotlin和java中使用此函数时,可以看到其参数名称:expression
。
fun Boolean.checkArguments() {
if (!this) {
throw IllegalArgumentException()
}
}
当我以此方式将其编写为扩展函数时,调用它的布尔值的参数名称(函数中的this
变量,又称接收者)显示为$this$checkArguments
。如何为该参数添加KDoc文档注释?使用@param $this$checkArguments
似乎无法对其进行记录。
解决方法
您可以使用@receiver
来记录扩展功能的接收者。这是relevant documentation。
例如:
/**
* @receiver A String that is at least four characters long
*/
fun String.firstFour() = this.substring(0,4)