2017-05-12 8 views
1

kotlin-reflectを使用しないでプロパティセッターへのメソッド参照を取得するにはどうすればよいですか?プロパティセッターへのメソッドリファレンス

は基本的に、私はJavaの方法で、私のコードを書きますかどうかは

fun setValue(i: Int) = Unit 
val a: (Int) -> Unit = this::setValue 

超シンプルだがvar value: Intのために、私はセッターの参照を取得するために使用this::value.setter

var value = 1 
val a: KMutableProperty0<Int> = this::value 

答えて

1

を取得しています。

1

this::valueは、プロパティリファレンスです。 KMutablePropertyを返します。設定者を取得するにはKMutablePropertysetterフィールドが必要です。したがって、あなたはこれを必要とします:

class C { 
    var field: Int = 1 
    fun getFieldSetter(): (Int) -> Unit{ 
     return this::field.setter 
    } 
} 
関連する問題