面向对象泛型问题

链式调用

//泛型类 
// Query<T:ProxyRepository<E>,E:IRule> {} 表示一个 select 语句.
// Update<T:ProxyRepository<E>,E:IRule>{} 表示一个 update 语句.
// 两个都继承 whereable 希望:  where方法返回调用者自己的对象.

dbr.table.select().where().orderBy();
dbr.table.update().where().set().exec();


扩展定义:
fun <T:Whereable> T.where(): T{

}

反射获取

有时 没办法.
如: 反射获取单个实体: mor.getEntity("city") ,方法返回的是: ProxyRepository<*> 转换不到 ProxyRepository,E:IRule

posted @ 2018-04-20 15:06  NewSea  阅读(241)  评论(0编辑  收藏  举报