Kotlin数据类的扩展功能

时间:2019-03-07 09:42:20

标签: android kotlin data-class

我有一个看起来像这样的数据类

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 个答案:

答案 0 :(得分:2)

只需在SuggestionResponse类上创建扩展函数,您就可以访问SuggestionResponse类的属性:

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

然后您就可以在SuggestionResponse类的实例上调用它:

suggestionResponse.hello()

More info about extension functions

相关问题