2016-07-06 3 views
5

클래스를 필요로하지 않고 최상위 함수 만 사용할 수있는 짧은 프로그램을 작성했습니다. kotlin의 최상위 함수에서 클래스 참조 얻기

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

쓰기 자바 코드에서 항아리의 위치를 ​​찾으려면하지만 내 코 틀린 코드의 모든 클래스를 선언하지 않았다 나는이 클래스 참조를 얻을하는 방법을 모르겠어요.

나의 현재 구현은 분명 아주 나쁜 코드이

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

입니다.

내 질문은 어떻게 불필요한 클래스를 선언하지 않고도 kotlin에서 클래스 참조를 얻는 것입니다. 어떤 힌트를 주시면 감사 :)

+0

코드가 나쁘지 않다;) – voddan

답변

7

당신은 클래스를 선언 할 수 있지만,이 주변의 코드를 볼 수 없습니다 있도록 object expression을 사용하여 익명의 하나

val jarPath = object {}.javaClass.protectionDomain.codeSource.location.toURI().path 
관련 문제