sınıf alanlarında sentetik üyelerini bulun:Bir sınıfa tüm alanları yakalayabilmeleri scala aşağıdaki yöntemi kullanıyorum Scala
val fields = contract.getClass.getDeclaredFields.toList.map(value => {
value.setAccessible(true)
value.getName
})
contract
benim kodda bir sınıf olarak tanımlanmıştır. Yansıma kullanıyorum, sorun alanlardan biri olarak $jacocoData
başka bir öğe almamdır. Bu alanı görmezden gelmek istiyorum. Bunu yapmanın 'hacky' yolu, listenin sonuna her zaman eklenmiş olduğu gerçeğini bilmek, böylece productArity
'u dahil etmek için işlev imzamı değiştirerek 'düzeltebilirim' ve yalnızca ilk arity
gibi öğeleri Bu:
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
}
this FAQ son noktaya göre, bir sınıfın sentetik üyelerini kapalı kurtulmak gerekir. Bunu nasıl yaparım?