【问题标题】:Generic Top Level Function Reference通用顶级函数参考
【发布时间】:2020-07-19 20:32:33
【问题描述】:

如何引用以下function

@SinceKotlin("1.3")
public fun <T> sequence(@BuilderInference block: suspend SequenceScope<T>.() -> Unit): Sequence<T> = Sequence { iterator(block) }

尝试

val sequenceFunction: KFunction<Sequence<Int>> = ::sequence

导致编译时错误

类型推断失败:没有足够的信息来推断有趣序列中的参数 T(块:暂停 SequenceScope.() -> 单元):序列 请明确说明。

【问题讨论】:

    标签: function kotlin reflection reference toplevel


    【解决方案1】:
    val f: (suspend SequenceScope<Int>.() -> Unit) -> Sequence<Int> = ::sequence
    

    工作

    注意:获得的对象是某种包装函数类型。不是实际的函数声明。运行this 可以证明这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-21
      • 2018-09-20
      • 2015-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多