现在,金Stebel helped me understanding如何与存在的类型类型变量,我需要知道如何在继承使用它们:更多斯卡拉打字问题
下面的代码无法编译:
class PagingListModel(startPageNumber: Int, pageSize: Int, query: Query[Projection[_ <: Product]]) extends AbstractListModel {
val itemStartNumber: Int = startPageNumber * pageSize
val items: List[Product] = getPageData()
override def getPageData(): List[Product] = {
db withSession {
return queryToQueryInvoker(query.drop(itemStartNumber).take(pageSize)).list
}
}
}
......与错误:
no type parameters for method queryToQueryInvoker:
(q: org.scalaquery.ql.Query[org.scalaquery.ql.ColumnBase[T]])
org.scalaquery.ql.basic.BasicQueryInvoker[T]
exist so that it can be applied to arguments
(org.scalaquery.ql.Query[org.scalaquery.ql.Projection[_ <: Product]])
--- because ---
argument expression's type is not compatible with formal parameter type;
found : org.scalaquery.ql.Query[org.scalaquery.ql.Projection[_ <: Product]]
required: org.scalaquery.ql.Query[org.scalaquery.ql.ColumnBase[?T]]
...这是奇怪的,因为所需的类型真的是找到了一个的范围内...
PS:我真的只是想能够调用foreach
在由getPageData()
返回列表中的每个元组...
我会考虑 – 2011-05-29 12:10:23
看起来不错!这绝对是我从未想过整个该死的时间,我试图找到我的错误的一件事... – 2011-05-29 12:20:18