kotlin如何使用变量名和值将参数映射到LinkedMultiValueMap

kotlin如何使用变量名和值将参数映射到LinkedMultiValueMap,kotlin,Kotlin,所以我有一个函数,它有很多这样的参数 fun registerDomain( domain: String, period: String, dns1: String, dn2: String, registrant: String, admin: String, tech: String, billing: String ) { val request = LinkedMultiValueMap<String,

所以我有一个函数,它有很多这样的参数

fun registerDomain(
    domain: String,
    period: String,
    dns1: String,
    dn2: String,
    registrant: String,
    admin: String,
    tech: String,
    billing: String
  ) {
    val request = LinkedMultiValueMap<String, String>()
    request.add("domain", domain)
    request.add("period", period)
    request.add("dns1", dns1)
    request.add("dns2", dn2)
    request.add("registrant", registrant)
    request.add("tech", tech)
    request.add("billing", billing)
    return _request(resources.DOMAIN, "registerDomain", request)
  }
function registerDomain(parameters){
  val request = LinkedMultiValueMap<String, String>()
  for(param in parameters){
    request.add(::param.name, ::param.get())
  }
  return _request(Resources.DOMAIN, "registerDomain", request)
}
fun注册域(
域:字符串,
句号:字符串,
dns1:字符串,
dn2:管柱,
注册人:String,
管理员:字符串,
技术:字符串,
账单:字符串
) {
val请求=LinkedMultiValueMap()
添加(“域”,域)
请求。添加(“期间”,期间)
请求。添加(“dns1”,dns1)
请求添加(“dns2”,dn2)
请求。添加(“注册人”,注册人)
请求。添加(“技术”,技术)
请求。添加(“账单”,账单)
返回请求(resources.DOMAIN,“registerDomain”,请求)
}
因此,为了发出请求,我必须将这些参数映射到LinkedMultiValueMap,以便在请求正文中使用,但我已经厌倦了手动添加这些参数,如果这些参数更多,代码就会更长。那么,是否仍然可以将参数映射到LinkedMultiValueMap。我期待这样的事情

fun registerDomain(
    domain: String,
    period: String,
    dns1: String,
    dn2: String,
    registrant: String,
    admin: String,
    tech: String,
    billing: String
  ) {
    val request = LinkedMultiValueMap<String, String>()
    request.add("domain", domain)
    request.add("period", period)
    request.add("dns1", dns1)
    request.add("dns2", dn2)
    request.add("registrant", registrant)
    request.add("tech", tech)
    request.add("billing", billing)
    return _request(resources.DOMAIN, "registerDomain", request)
  }
function registerDomain(parameters){
  val request = LinkedMultiValueMap<String, String>()
  for(param in parameters){
    request.add(::param.name, ::param.get())
  }
  return _request(Resources.DOMAIN, "registerDomain", request)
}
函数寄存器域(参数){
val请求=LinkedMultiValueMap()
用于(参数中的参数){
request.add(::param.name,::param.get())
}
返回请求(Resources.DOMAIN,“registerDomain”,请求)
}
还是有办法缩短代码。

这样行吗

private fun registerDomain(parameters: List<Pair<String, String>>(): Map<String, String>{
    return parameters.toMap()
}

这样行吗

private fun registerDomain(parameters: List<Pair<String, String>>(): Map<String, String>{
    return parameters.toMap()
}