Étant donné une affaire classe A
je peux extraire ses noms de champs avec Shapeless en utilisant l'extrait suivant:Comment extraire génériquement des noms de champs avec Shapeless?
val fieldNames: List[String] = {
import shapeless._
import shapeless.ops.record.Keys
val gen = LabelledGeneric[A]
val keys = Keys[gen.Repr].apply
keys.toList.map(_.name)
}
Cela fonctionne tout bien, mais comment puis-je mettre en œuvre cela d'une manière plus générale, pour que je puisse utiliser commodément cette technique pour des classes arbitraires, comme
val fields: List[String] = fieldNames[AnyCaseClass]
Y at-il une bibliothèque qui fait déjà cela pour moi?
Merci, cela fonctionne comme un charme! La seule chose que je me demande encore est s'il y a une sorte de bibliothèque utilitaire sans forme qui couvre les cas d'utilisation simples comme celui ci-dessus. –