Скала неявная карта - PullRequest
       0

Скала неявная карта

1 голос
/ 10 ноября 2011

У меня есть несколько неявных методов для создания универсального столбца таблицы (javafx).Все отлично работает на этой стороне:

trait TableColumnTrait[T] {def createColumn(key: String, displayName: String): TableColumn[PricingRow, T]}

, за которым следуют например.

sealed class PricingStage[PT] extends LoggingTrait {
  implicit object TableColumnString extends TableColumnTrait[String] {
    override def createColumn(key: String, displayName: String): TableColumn[PricingRow, String] = {
      info("createColumn for String (" + key + ", " + displayName + ")")
      new TableColumn[PricingRow, String](displayName)
    }
  }

Однако в PricingStage я хотел бы сохранить созданные столбцы на карте, так что яобъявили это:

var columns = Map[String, TableColumn[PricingRow, TableColumn[PricingRow, PT]]]()
  private def createColumn[T: TableColumnTrait](key: String, displayName: String) = {
    val column = implicitly[TableColumnTrait[T]].createColumn(key, displayName)
    columns += key -> column
    pricingTable.getColumns().addAll(column)
  }

Но компилятор жалуется:

Описание Resource Path Location Несоответствие типов типов;найдено: javafx.scene.control.TableColumn [org.cobra.client.main.PricingRow, T] обязательно: javafx.scene.control.TableColumn [org.cobra.client.main.PricingRow, javafx.scene.control.TableColumn [org.cobra.client.main.PricingRow, PT]] PricingStage.scala / Cobra / client / org / cobra / client / main line 47 Проблема Scala

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...