2016-11-14 14 views
3

通常の機能(「here」を参照)と同じように、拡張機能への参照を取得することはできますか?拡張機能のリファレンス?

私は、次のコードはコンパイルを期待するが、今::String.toSomethingは不明です:

fun String.toSomething() = length + 1 
val some = listOf("lala", "bebebe").map(::String.toSomething) 

答えて

3

参照拡張メソッドは、クラス名とメソッド名の間に::演算子を適用することによって行うことができる関数の前に必ず::を置くことを忘れないでくださいあなたのケース:

fun String.toSomething() = length + 1 
val some = listOf("lala", "bebebe").map(String::toSomething) 
+0

ありがとうございます。できます。 – plinyar

6

あなたはこのように意味しますか?そうで

val function = Object::myExtensionMethod 

fun String.toSomething() = length + 1 
val some = listOf("lala", "bebebe").map(String::toSomething) 

だけKotlinで

+0

同じシンターxは 'String :: toUpperCase'のようなメンバー関数に適用されます –

+0

ありがとうございます。できます。 – plinyar