Scala Monocle - 在E中找不到方法ID

时间:2017-01-07 23:23:07

标签: scala monocle

类定义如下所示:

abstract class EntityWithIdHelper[E <: { def id: Int }] {
  def idLens: Lens[E, Int] = GenLens[E](_.id)
  ...

你如何避免这个问题 - Cannot find method id in E?有没有解决方法?

1 个答案:

答案 0 :(得分:1)

您无法为Lens创建id,因为Lens需要一个getter和一个setter,而这里只有一个getter。

此外,如果您想使用GenLens[E]E必须是案例类。