2017-05-06 128 views
1

給定KFunction如何檢查它是否是擴展功能?檢查功能是否擴展

我知道的唯一方法是檢查function.extensionReceiverParameter是否返回null。有沒有其他的或推薦的方法?

+1

我不知道肯定,但我認爲這是唯一的方法。 Kotlin反射庫在許多方面都很尷尬。例如您必須測試由KClass表示的類型是否具有構造函數,或不知道它是接口還是類。它缺少一些擴展特性,使其易於學習和使用。 – glee8e

回答

0

目前,要檢查這個問題的唯一方法是使用: function.extensionReceiverParameter

如果它返回null它不是一個擴展功能。如果它返回一個非空值,它的功能是擴展功能