如何在 Kotlin 中为两种类型的数据 class 映射器使用通用扩展函数

How can I used a generic extension function in Kotlin for two type of data class mapper

我有两个数据模型 类,我想使用通用扩展函数来映射这些 类 和其他 类。

这是我的代码示例,用于映射两个 类:

fun HomeRequestBodyWithAuthQuery.Client.graphToDomain(): Client =
    Client(id = this.id, givenName = this.givenName)

我写了这个扩展函数,但是 return 值有错误:

fun <G,  T> G.graphqlToDomain(): T  = T

如何为这项工作编写一个 kotlin 扩展函数?

您可以将您的泛型类型作为参数并return它。

fun <G, T> G.graphqlToDomain(t: T): T = t