Tag: 成员

用于Java兼容性的公共字段

最近我发现Kotlin是一种语言,因为我们开发的平台是基于Java 6的,因此近年来没有任何语法糖给Java。 只有一件事使得在开发中不可能使用Kotlin而不是Java,也就是说,我们开发的平台在内部使用了一些反思,并要求成员公开。 否则将无法正常工作。 所以,从Kotlin文件生成的字节码实际上产生了公共的getter和setter,这些字段本身仍然是私有的。 有办法克服这个,所以我得到真正的公共领域? 我意识到需要公共领域的设计失败,但是这个系统对我们来说是一个黑盒子,我们不能改变它必须这样的事实。

我无法从Kotlin的嵌套班上找到任何班级成员

我想从PersonAdapter类访问MainFragment类的成员,但没有一个可用。 我试图让班级和成员公共和私人也到目前为止没有任何工作。 我想我错过了一些明显的东西,但我无法弄清楚。 class MainFragment : Fragment() { lateinit var personAdapter: PersonAdapter lateinit var personListener: OnPersonSelected private var realm: Realm by Delegates.notNull() lateinit var realmListener: RealmChangeListener<Realm> override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val v = inflater.inflate(R.layout.fragment_main, container, false) return v } class PersonAdapter() : RecyclerView.Adapter<ViewHolder>() { var localPersonList = personList override […]

Kotlin:我怎样才能得到一个成员财产的代表团类?

我怎样才能得到一个成员属性的委托类? 通过这个,我的意思是有可能完成这样一个功能: inline fun <reified T> delegationExample(t: T) { for (prop in T::class.declaredMemberProperties) { val delegatedClass = // what to do?! } } 代表团可能看起来像这样: class DelegationExample { operator fun getValue(ref: Any, prop: KProperty<*>) = 0 } 而声明类可能是这样的: object Example { val a by DelegationExample() val b by DelegationExample() val c by DelegationExample() }