想想这样的案例类:
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)
}
我可以手动将字段名作为字符串传递,但问题是,如果我重构字段名并且它必须匹配,则字符串不会改变。
也许宏可以帮助?还有其他解决方案吗?