2016-07-06 26 views
5

Herhangi bir sınıf gerektirmeyen kısa bir program yazdım ve sırayla sadece üst düzey işlevlerin birleşimini yaptım. Kotlin'de üst düzey işlevden sınıf referansı alın

Eğer

MyClass.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath() 

yazma java kodundan küpünün konumunu bulmak için Ama benim KOTLIN kodunda herhangi sınıfları beyan etmedi gibi ben bir sınıf referansı almak için nasıl bilmiyorum.

Benim şu anki uygulama Açıkçası çok kötü bir koddur bu

class Ref 
val jarPath = Ref::class.java.protectionDomain.codeSource.location.toURI().path 

olduğunu.

Benim sorum şu ki, kotlin'de herhangi bir gereksiz sınıf bildirmeden bir sınıf referansını nasıl edinebilirim. Herhangi ipuçları takdir :)

+0

kod kötü değildir;) – voddan

cevap

7

Bir sınıf bildirmek, ancak çevredeki koda görünmez, böylece object expression kullanarak anonim bir:

val jarPath = object {}.javaClass.protectionDomain.codeSource.location.toURI().path 
İlgili konular