2016-07-06 16 views
5

クラスを必要とせず、最上位レベルの関数のみを扱う短いプログラムを作成しました。kotlinのトップレベル関数からクラス参照を取得

Javaコードからあなたのjarファイルの場所を見つけるために、あなたは

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

を書くしかし、私は私のkotlinコード内の任意のクラスを宣言していないように私はクラスの参照を取得する方法がわかりません。

私の現在の実装では明らかに非常に悪いのコードである。この

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

です。

私の質問は、不必要なクラスを宣言せずにkotlinでクラス参照を取得する方法です。 任意のヒントは感謝:)

+0

コードはそれほど悪くはありません。 ) – voddan

答えて

7

あなたは、クラスを宣言することができますが、それは周囲のコードには表示されないように、object expressionを使用して、匿名の1:

val jarPath = object {}.javaClass.protectionDomain.codeSource.location.toURI().path 
関連する問題