2017-05-06 1 views
1

Étant donné un KFunction comment puis-je vérifier s'il s'agit d'une fonction d'extension?Vérifier si la fonction est l'extension

La seule façon que je sais est de vérifier si function.extensionReceiverParameter renvoie null. Y a-t-il un autre moyen ou un moyen recommandé?

+1

Je ne sais pas avec certitude, mais je pense que c'est la seule façon. La bibliothèque de réflexion de Kotlin est gênante dans de nombreux aspects. par exemple. Vous devez tester si le type représenté par une KClass a un constructeur ou non pour savoir s'il s'agit d'une interface ou d'une classe. Il manque certaines propriétés d'extension pour le rendre facile à apprendre et à utiliser. – glee8e

Répondre

0

Actuellement, la seule façon de vérifier cela est d'utiliser: function.extensionReceiverParameter.

S'il renvoie null, ce n'est pas une fonction d'extension. Si elle renvoie une valeur non nulle, cette fonction est une fonction d'extension