2017-09-11 30 views

回答

1

,因爲你這樣做是在課堂之外,當屬性爲private你不能得到它。你有幾個選擇這裏:

  1. 創建返回this::pfun func(): KProperty0<MyObj?> = this::p)函數
  2. 使該財產public
  3. 使用反射。 這可能是最慢,性能最差和緊密耦合的選項。只有在不能使用其他人時才使用它。你可以這樣使用Kotlin的反射:A::class.memberProperties.find { it.name == "p" } as KProperty1<A, MyObj?>
+0

我只想在單元測試中使用反射。這就是爲什麼我的問題包含reflect.And你會添加** apply {isAccessible = true} **和**編譯「org.jetbrains.kotlin:kotlin-reflect:$ kotlin_version」 **,以便我接受您的回答幫助別人。 – user2545386

相關問題