class MyModel(var username:String, var password:String) extends FrameworkModel
object MyModelQuery extends FrameworkQuery {
type T = MyModel
}
trait FrameworkQuery {
type T
//do something with that type
}
所以我得到一个类和一个对象,后者混合在一个被定义为抽象类型的特征中。有没有办法我可以编程方式将type
设置为MyModel类的类型,所以客户端不需要?即“对象MyModelQuery扩展FrameworkQuery”将负责它
答案 0 :(得分:0)
trait T{
type X = this.type
def x: X = this
}
object A extends T{
def b = "Yep"
}
scala> A.x.b
res0: java.lang.String = Yep
答案 1 :(得分:0)
您可以通过在模型中嵌套查询来实现类似的效果吗?
trait FrameworkModel {
val model = this
trait FrameworkQuery {
type T = model.type
def getModel: T = model
}
}
class UserModel extends FrameworkModel {
// model stuff...
object UserQuery extends FrameworkQuery {
// query stuff...
}
}