функция расширения для класса данных Kotlin - PullRequest
0 голосов
/ 07 марта 2019

У меня есть класс данных, который выглядит примерно так

data class SuggestionResponse(
  val metadata: Metadata,
  val response: Response
)

data class Response(
 ///blah blah
)

data class Metadata(
  val timeleft: String,
  val totalTime: String
)

Теперь мое требование преобразовать эти данные в объект данных другого типа. Я хочу написать функцию расширения для выполнения этой задачи. пусть имя функции будет привет

Я хотел бы вызвать эту функцию расширения следующим образом

suggestionResponse.hello()

как мне написать функцию расширения?. Любая помощь будет оценена

1 Ответ

2 голосов
/ 07 марта 2019

Просто создайте функцию расширения для класса SuggestionResponse, и вы получите доступ к свойствам класса SuggestionResponse:

fun SuggestionResponse.hello() { 
    //`metadata` property is available here
    //`response` property is available here
    val time = metadata.timeleft
}

И тогда вы сможете вызывать ее в экземпляреSuggestionResponse класс:

suggestionResponse.hello()

Подробнее о функциях расширения .

...