2018.10.9
2018.10.9class ResourceID(){val image_id: String = "101"val text_id: String = "102"}class ResourceLoader(id: ResourceID){val d: ResourceID = idoperator fun provideDelegate (thisRef: MyUI, prop: KPrope
·
2018.10.9
class ResourceID(){
val image_id: String = "101"
val text_id: String = "102"
}
class ResourceLoader(id: ResourceID){
val d: ResourceID = id
operator fun provideDelegate (thisRef: MyUI, prop: KProperty): ReadOnlyProperty {
if (checkProperty(thisRef, prop.name)){
}
}
private fun checkProperty(thisRef: MyUI, name: String):Boolean{
if(name.equals("image")||name.equals("text")){
return true
}else{
throw Exception("Error ${prop.name}")
}
}
}
fun bindResource(id: ResourceID): ResourceLoader{
var res = ResourceLoader(id)
return res
}
class MyUI{
val image by bindResource(ResourceID())
val text by bindResource(ResourceID())
}
class DellImpl(d: ResourceID): ReadOnlyProperty{
val id: ResourceID = d
override fun getValue(thisRef: MyUI, property: KProperty):String{
if(property.name.equals("image"))
return property.name+" "+id.image_id
else
return property.name+" "+id.text_id
}
}

更多推荐



所有评论(0)