kotlin成员函数的所有者
kotlin可以获得函数的所有者和绑定的对象相关的信息. 假设有下面两个类:
class A(){ fun fa(){} } class B: A() val KFunction<*>.ownerClass: KClass<*> get() { return (this as FunctionReference).owner as KClass<*> }
可以通过KFunction.ownerClass来获取所有者类型, 下面是测试结果:
A::fa.ownerClass => A::class A()::fa.ownerClass => A::class B::fa.ownerClass => B::class B()::fa.ownerClass => B::class
这在web开发中有用, 假设一个类是控制器
class PersoController:Controller(){ fun listAction(){ } }
重定向的函数可以这么写
redirect(PersonController::listAction)
为什么不直接用字符串呢? 比如: redirect("person/list").
字符串在重构时容易落下, 减少犯错误的几率就是提高效率.
ruby中也常用符号来代替字符串.
相关推荐
Nostalgiachild 2020-11-13
拓网科技 2020-11-13
susmote 2020-09-30
FrankAbagnale 2020-09-15
DanielMan 2020-09-02
hanqiusy 2020-08-26
Khellendros 2020-08-20
带你装逼带你飞 2020-07-20
星辰 2020-06-27
hohohogetitup 2020-06-19
NightWish 2020-06-11
Khellendros 2020-06-01
hohohogetitup 2020-05-31
Stranger 2020-05-30
ilovewqf 2020-05-30
ncuboy0wsq 2020-05-17
Stranger 2020-05-16
wuShiJingZuo 2020-04-26