Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation Kotlin:如何将表达式(代码)传递给参数?_Validation_Kotlin_Parameter Passing - Fatal编程技术网

Validation Kotlin:如何将表达式(代码)传递给参数?

Validation Kotlin:如何将表达式(代码)传递给参数?,validation,kotlin,parameter-passing,Validation,Kotlin,Parameter Passing,Kotlin有很多优点,所以我想知道,它是否具有我上次在使用C/C++宏时看到的功能: 我希望能够将表达式传递给被调用函数的参数。这主要用于验证/记录目的。例如: fun checkNotNull(val value: Any?) { if (value == null) throw IllegalArgumentException("${value::passedExpression} is null") } val foo = Person(name = "Ada"

Kotlin有很多优点,所以我想知道,它是否具有我上次在使用C/C++宏时看到的功能:

我希望能够将表达式传递给被调用函数的参数。这主要用于验证/记录目的。例如:

fun checkNotNull(val value: Any?) {
    if (value == null)
        throw IllegalArgumentException("${value::passedExpression} is null")
}

val foo = Person(name = "Ada", surname = null)

checkNotNull(foo.surname)
因此,这将抛出
“foo.lasname为null”
。这将节省大量的写作,这似乎是科特林的使命(或其中之一)。它可能有局限性,例如,仅在表达式简单时返回表达式,如对象图导航,否则返回null


有没有这样的特点?还是功能请求?或者预编译器插件?

您可以尝试使用中所述的反射或委托,但我刚刚尝试了反射,并收到消息Kotlin Playerd上还不支持对变量的引用,可能是真的。。。无法在IDE中签出。您可以尝试使用中所述的反射或委托,但我刚刚尝试了反射,并收到消息Kotlin Playerd上还不支持对变量的引用,可能是真的。。。无法在IDE中签出它。