2017-05-06 75 views
1

给定KFunction如何检查它是否是扩展功能?检查功能是否扩展

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

+1

我不知道肯定,但我认为这是唯一的方法。 Kotlin反射库在许多方面都很尴尬。例如您必须测试由KClass表示的类型是否具有构造函数,或不知道它是接口还是类。它缺少一些扩展特性,使其易于学习和使用。 – glee8e

回答

0

目前,要检查这个问题的唯一方法是使用: function.extensionReceiverParameter

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