2017-05-06 6 views
1

Gegeben eine KFunction Wie kann ich überprüfen, ob es sich um eine Erweiterungsfunktion handelt?Überprüfen, ob die Funktion eine Nebenstelle ist

Der einzige Weg, den ich weiß, ist zu überprüfen, ob function.extensionReceiverParameternull zurückgibt. Gibt es einen anderen oder einen empfohlenen Weg?

+1

Ich weiß es nicht sicher, aber ich denke, es ist der einzige Weg. Kotlin Reflexionsbibliothek ist in vieler Hinsicht umständlich. z.B. Sie müssen testen, ob der von einer KClass dargestellte Typ einen Konstruktor hat oder nicht, um zu wissen, ob es sich um eine Schnittstelle oder eine Klasse handelt. Es fehlen einige Erweiterungseigenschaften, um es einfach zu lernen und zu verwenden. – glee8e

Antwort

0

Zurzeit können Sie dies nur überprüfen, indem Sie Folgendes verwenden: function.extensionReceiverParameter.

Wenn es null zurückgibt, ist es keine Erweiterungsfunktion. Wenn es einen Nicht-Null-Wert zurückgibt, ist diese Funktion eine Erweiterungsfunktion

Verwandte Themen