C'è un modo per identificare una classe di dati Kotlin da una normale classe Kotlin? Come usare la riflessione forse?C'è un modo per identificare una classe di dati Kotlin da una normale classe Kotlin?
7
A
risposta
3
Dal 1.1 v'è una proprietà ISDATA sulla classe
MyDataClass::class.isData
5
Non è possibile leggere l'annotazione data
in base alla riflessione perché ha una conservazione predefinita (CLASS
).
Si può provare ad usare alcune euristiche, come controllo che contiene prossimi metodi:
public final copy
public final component{N}
public static copy$default
Ma nota che quarantina di questo sono dettagli di implementazione e potrebbe essere cambiato in futuro.