ich die folgende Methode in scala bin mit habhaft alle Felder in einer Klasse:Finden synthetische Mitglieder in Klassenfelder in Scala
val fields = contract.getClass.getDeclaredFields.toList.map(value => {
value.setAccessible(true)
value.getName
})
contract
hat als eine Klasse in meinem Code definiert. Da ich Reflexion verwende, ist das Problem, ich bekomme ein anderes Element $jacocoData
als eines der Felder. Ich möchte dieses Feld ignorieren. Der "hacky" Weg, es zu tun, ist zu wissen, dass es immer am Ende der Liste angehängt wird, also kann ich es 'reparieren', indem ich meine Funktionssignatur auf productArity
umwandle und nur die erste arity
Anzahl von Elementen wie dies:
def getFields(contract: Contract, arity: Int): List[String] = {
val fields = contract.getClass.getDeclaredFields.toList.map(value => {
value.setAccessible(true)
value.getName
})
//to ignore $jacocoData (Java code coverage) field
val firstnFields = fields.take(arity)
firstnFields
}
nach dem letzten Punkt der this FAQ, ich brauche synthetische Mitglieder einer Klasse befreien auszusteigen. Wie mache ich das?