MethodSymbol
içine pompalamak için plan saha yöntemleri
def getMethods[T:TypeTag](t:T) = typeOf[T].members.collect {
case m:MethodSymbol => m
}
çekin gelmez aşağıda kullanarak Örneğin , hassas bunu sağlayan bir
isCaseAccessor
yöntemi vardır:
:
def getMethods[T: TypeTag] = typeOf[T].members.collect {
case m: MethodSymbol if m.isCaseAccessor => m
}.toList
Şimdi aşağıdaki yazabilirsiniz 10
scala> case class Person(name: String, age: Int)
defined class Person
scala> getMethods[Person]
res1: List[reflect.runtime.universe.MethodSymbol] = List(value age, value name)
Ve yalnızca istediğiniz yöntem sembollerini alırsınız.
Ah, şimdi yaklaşımımın yanlış olduğunu anlıyorum. Bilinmeyen bir vaka sınıfından davaya nasıl geçilir? Şu anda valde kayıtlı olan IE One: Herhangi bir –
Bekleyin, yok currentMirror.reflect (someCaseClass) .symbol.asType.typeSignature.members –
Bu, scala 2.10 altında çok iş parçacıklı ortamlarla çalışabilir mi? – jilen