Existe-t-il un moyen d'identifier une classe de données Kotlin à partir d'une classe Kotlin régulière? Comme utiliser la réflexion peut-être?Existe-t-il un moyen d'identifier une classe de données Kotlin à partir d'une classe Kotlin régulière?
7
A
Répondre
3
Depuis 1.1, il est une propriété ISDATA sur la classe
MyDataClass::class.isData
5
Vous ne pouvez pas lire l'annotation data
par réflexion car sa rétention est définie par défaut (CLASS
).
Vous pouvez essayer d'utiliser des heuristiques, comme vérifier qu'il contient des méthodes suivantes:
public final copy
public final component{N}
public static copy$default
Mais notez que somethings de ce sont les détails de mise en œuvre et peut être changé à l'avenir.