首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >进入阴影接收器

进入阴影接收器
EN

Stack Overflow用户
提问于 2022-03-15 07:30:02
回答 1查看 61关注 0票数 0

我想将接收类Receiver上的Kotlin扩展函数与arrow-kt的理解结合起来。在常规Kotlin扩展函数中,this绑定到接收对象;但是,任意理解的EitherEffect阴影接收器this

代码语言:javascript
复制
suspend fun Receiver.myFun(param: String): Either<Throwable, String> = either {
  this.someMethod(...).bind() // Cannot access Receiver.someMethod, <this> is bound to EitherEffect
  ...
}

如何在箭头的理解块(或任何其他一元理解块)中访问接收方上下文?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-15 08:30:18

这是从Kotlin继承的一个问题,但是您始终可以通过名称引用外部作用域this来访问它。在这里,您可以通过this@myFun引用它来访问它。

代码语言:javascript
复制
suspend fun Receiver.myFun(param: String): Either<Throwable, String> = either {
  this@myFun.someMethod(...).bind() // Cannot access Receiver.someMethod, <this> is bound to EitherEffect
  ...
}

但是,您应该可以在这里简单地调用someMethod,而无需引用this

代码语言:javascript
复制
suspend fun Receiver.myFun(param: String): Either<Throwable, String> = either {
  someMethod(...).bind()
  ...
}

希望这能解决你的问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71478392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档