scala - 方法作为参数,枚举值要使其类型化
问题描述
我有这样的方法:
def fieldsCheck(columnNames: Seq[TestProductColumnNames.Value]): ValidationNel[ColumnNameValidateError, Unit]
但我想让它打字,所以它可能需要每个
斯卡拉枚举
可能吗 ?
当然,我需要在这种方法中获取字符串中的值或它们的 id。所以编译器需要知道这个类型化的参数是枚举
解决方案
感谢@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]
推荐阅读
- android - 可组合的可点击功能不再起作用
- python - 使用 Python 从 Quicksight 仪表板中提取 CSV
- r - 如何使用 FOR 和 İF 结构缩短代码?
- javascript - Angular 8:警告:清理 HTML 删除了一些内容
- python - 部分 Python 代码无法从其他文件导入
- javascript - 使用样式化组件打开和关闭移动导航栏菜单
- javascript - 打字稿返回和异步等待
- c++ - 通过从列表对象c ++中调用id或名称的属性获取特定对象
- c++ - 运行多个分离线程的意外行为
- excel-formula - 我可以在输出多个结果后使用 excel 公式吗?