【发布时间】:2013-08-20 11:45:51
【问题描述】:
想想这样的案例类:
case class User(firstname: String, lastname: String)
现在考虑用名字调用方法check
check(User.firstname)
问题是,check 方法也必须有字段的名称。它必须有 fieldname 和 fieldvalue -> "firstname" 和 "John"
问题是,是否可以通过 check(User.firstname) 样式中的类的字段而不是其值?
我认为检查可能看起来像这样(preudocode):
def check(fieldName: String, fieldValue: Any) = {
println(fieldName + ": " + fieldValue)
}
或者这个
def check(field: Field) = {
println(field.getName)
}
我可以手动将字段名作为字符串传递,但问题是,如果我重构字段名并且它必须匹配,则字符串不会改变。
也许宏可以提供帮助?有没有其他解决办法?
【问题讨论】:
标签: reflection implicit-conversion implicit scala-2.10 scala-macros