编译时检查参数是否使用Kotlin注释



我有一个要求,在我的Android项目中,我需要验证一个参数的注释。例如在下面的函数中,我需要确保块是否具有所需的注释,否则会抛出编译错误或lint错误

fun doSomething(block : () -> Unit){}
  1. 是否有一些注释处理可以帮助我这里
  2. 或者lint check可以帮我吗

谢谢。

为了让你的代码更干净,我建议使用lint检查,但是有一种方法可以通过编程实现。

你可以在参数上使用反射。

val isAnnotated: Boolean = block::check.hasAnnotation<SomeAnnotation>()
if (!isAnnotated) throw Exception()

最新更新