方法作为参数,枚举值要使其键入

时间:2019-06-13 07:36:11

标签: scala

我有类似的方法:

def fieldsCheck(columnNames: Seq[TestProductColumnNames.Value]): ValidationNel[ColumnNameValidateError, Unit]

但是我想输入它,所以它可能需要每个

  

Scala枚举

有可能吗?

当然,我需要使用此方法来获取字符串值或它们的ID。因此,编译器需要知道这种类型的参数是枚举

1 个答案:

答案 0 :(得分:0)

感谢@KrzysztofAtłasik,我设法提出了一个我想与您分享的解决方案:

trait ColumnNamesValidator[T <: Enumeration#Value] {
  val mandatoryColumnNames: Seq[T]

  def mandatoryFieldsCheck(sheetColumnNames: Seq[T]): ValidationNel[ColumnNameValidateError, Unit] = ... ( implementation )

}

并使用它进行分类:

class TestColumnNamesValidator extends ColumnNamesValidator[TestColumnNames.Value]