我有一个基于ScalaJS和upickle的项目。这意味着我在JS端的代码中无法访问Scala反射。我需要将案例类属性与其名称相关联,并且我想知道是否有任何方法可以从属性中推断出名称。
所以说我有以下代码:
case class A(attr1: String, attr2: Int)
def foo[T, U](get: T => U, name: String) = { ... }
foo[A, String](_.attr1, "attr1")
foo[A, Int](_.attr2, "attr2")
我想知道是否有一种方法可以定义foo而无需传递属性的实际名称?
即
之类的东西def foo[T,U](get: T => U) { // infer the name of the attribue ... }
请注意,我可以访问给定类的upickle的Reader和Writer对象,所以我想知道那里是否有有用的功能吗?