Допустим, у меня есть case class CC(a: Int, b: String, c: Double)
. Для простоты я ограничу это тремя параметрами, но представьте, что у меня есть еще много, скажем, 20. Мой вопрос действительно о более крупном примере.
Теперь у меня есть объект Java SQLServerDataTable
, который имеет метод addRow
со следующей подписью:
public synchronized void addRow(Object... values) throws SQLServerException
Я хочу вызвать addRow
со всеми параметрами класса CC
, но без необходимости перечислять их все явно:
val cc = CC(1, "One", 1.0)
sqlServerDataTable.addRow( <some *-like magic with cc goes here> )
вместо:
sqlServerDataTable.addRow(cc.a, cc.b, cc.c)
не только потому, что
sqlServerDataTable.addRow(cc.a, cc.b, cc.d, cc.e, ..., cc.theEnd)
становится утомительным, но я также пытаюсь найти способ обобщить функции, которые используют addRow
.