Validation Kotlin:如何将表达式(代码)传递给参数?
Kotlin有很多优点,所以我想知道,它是否具有我上次在使用C/C++宏时看到的功能: 我希望能够将表达式传递给被调用函数的参数。这主要用于验证/记录目的。例如: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"
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中签出它。