Карточка Middle Лямбды, inline и reified обновлено

Где применяется reified

Вопрос

Приведи примеры использования reified в Android и Kotlin-коде.

Попробуйте сами

Ответьте про себя или вслух, потом откройте ответ и сверьтесь.

Показать ответ и разбор

Коротко

inline fun <reified T : Activity Context.start() для Intent(this, T::class.java); decodeFromString<User(json) в kotlinx.serialization; filterIsInstance<T(); by viewModels<T(); get<T() в Koin; typeOf<T(). Везде нужен тип в рантайме без передачи Class<T.

Ответ

inline fun <reified T : Activity> Context.start() для Intent(this, T::class.java); decodeFromString<User>(json) в kotlinx.serialization; filterIsInstance<T>(); by viewModels<T>(); get<T>() в Koin; typeOf<T>(). Везде нужен тип в рантайме без передачи Class<T>.

Разбор

inline fun <reified T : Activity> Context.start() для Intent(this, T::class.java); decodeFromString<User>(json) в kotlinx.serialization; filterIsInstance<T>(); by viewModels<T>(); get<T>() в Koin; typeOf<T>(). Везде нужен тип в рантайме без передачи Class<T>.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.