Scala için tam özellikli bir yansıtma API'sinin durumunu bilen var mı?Scala için Yansıtma API'si
Basit şeyler yapmak için Java'nın yansıma API'sini kullanabileceğinizi biliyorum, ancak bu Scala'nın dil özellikleriyle iyi çalışmıyor. Deneysel bir Scala Yansıtma API'sini tanımlayan bir interesting article buldum ama bildiğim kadarıyla hala deneysel. Ayrıca bir ScalaSigParser bahsettim ama bu oldukça düşük seviyede gibi görünüyor.
Bu, şu anda sadece Scala ile oynamaktan başka bir şey değil, bir meraktır. Bu sorunun cevabının Scala ile ilgilenen diğer kişiler için de faydalı olabileceğini düşündüm.
"JavaBean tarzı modeli için değişmez yedek" adlı parametreleri ifade ve @BeanProperty ek açıklama isteğe edilebilir
Yansıma yapmak istediğiniz şey hakkında daha spesifik olabilir misiniz? Ad-managling ile yardımcı olmak için scala.tools.nsc içinde rutinleri kullanabilir ve bazı şeyler basitçe iyi yansıtmaz - sadece size yardım etmek için derlemeye ihtiyacınız vardır çünkü bunlar sadece mevcut yöntemleri çağırmak değildir. örneğin yeni bir kapatmaya ihtiyacınız varsa). –
İlk olarak, parametrelerin sırası hakkında endişelenmenize gerek kalmayacak şekilde adlandırılmış parametrelerle sınıf örnekleri oluşturmanın iyi olacağını düşünmekteydim - bu, JavaBean stili deseni için değişmez bir yedek olabilir. Scala özellikleriyle ilgili olarak bir sınıfın yapısına bakmanın güzel olacağını düşünüyorum. yani. Bana bütün oyuncuları bul - birincil olanı bul - onu çağır. Ya da bu alandaki gibi sorulara cevap verin bir val veya var. Ayrıca, Java'nın API'sine geri dönmek yerine deyimsel Scala stilinde yapılan yansıma API'sini kullanmak güzel olurdu. Sadece fikirler .. –
Çalışma zamanı veya değerlendirme stili deyimlerinde yöntemler eklemek gibi daha dinamik meta programlama özelliklerinden bazılarını düşünmüyordum - Java yansıma API'sinin Scala diline göre uyarlamanıza izin verdiğinden daha fazla satır. –