问题标签 [extension-function]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1810 浏览

guice - 在 Kotlin 中设置 Guice 绑定

我想设置 Guice 绑定,所以我在 Java 中创建了一个完美运行的模块:

然后我将此代码转换为 Kotlin:

不幸的是,这个类的 Kotlin 版本不再工作了。发生这种情况是因为 Kotlin 调用了它的内部方法public fun <A, B> A.to(that: B): Pair<A, B>,而不是LinkedBindingBuilder<T>.to(Class<? extends T> c)导致 Guice 绑定没有正确设置。

如何明确指定我要使用类方法而不是扩展函数?

0 投票
3 回答
1300 浏览

c# - 如何在另一个类中使用扩展函数?C#

我有几个想要在类之间传输的扩展函数。

我有一个名为Helpers.cs的类,我想要以下内容:

在我的其他类Impliment.cs中,我想要以下内容:

我该如何实施?

0 投票
10 回答
60106 浏览

java - 从 Java 访问 Kotlin 扩展函数

是否可以从 Java 代码访问扩展功能?

我在 Kotlin 文件中定义了扩展函数。

MyModel(生成的)java类在哪里。现在,我想在我的普通 java 代码中访问它:

但是,这是行不通的。IDE 无法识别该bar()方法并且编译失败。

使用来自 kotlin 的静态函数起作用的是:

通过使用import com.test.extensions.ExtensionsPackage,我的 IDE 似乎配置正确。

我从 kotlin 文档中搜索了整个 Java-interop 文件,也搜索了很多,但我找不到它。

我究竟做错了什么?这甚至可能吗?

0 投票
2 回答
429 浏览

android - Kotlin 扩展函数

考虑到这一点:

可以简化为:

或者,如果您愿意,可以这样做:

无论如何通过这样做来完成同样的事情:

0 投票
2 回答
2558 浏览

kotlin - 可以以“静态”方式调用扩展函数吗?

是否可以创建一个扩展函数并像静态一样调用它?

例如...

我知道代码示例不起作用...

  • 我知道 kotlin 的扩展函数是静态解析的,Kotlin Reference (Extension Functions)中所述,但这并不意味着它们可以像类中的静态函数一样被调用(在 Java 意义上)。

  • 我也知道这段代码不起作用,因为没有 System 实例可以传递给编译器将生成的方法;因此它不会编译。

我为什么要这个?

你们中的一些人可能想知道为什么这种行为是可取的。我能理解为什么你会认为不是,所以这里有一些原因:

  1. 它具有标准扩展功能提供的所有好处。
  2. 不需要创建类 实例来访问额外的功能。
  3. 可以从应用程序范围的上下文中访问这些函数(假设类是可见的)。

总结...

Kotlin 有办法将静态函数“挂钩”到类上吗?我很想知道。

0 投票
1 回答
2481 浏览

generics - 扩展函数内的 Kotlin KClass 实例

我需要访问通用扩展函数中的类类型。例如,如果我想创建一个扩展函数来返回我正在扩展的类型的成员的集合,我会这样做:

问题是我不能在函数内部执行 this::class 或 T::class 。有没有办法访问泛型类型的类类型?

0 投票
0 回答
195 浏览

kotlin - 扩展功能碰撞

当我定义两个具有相同签名的扩展函数时,我得到一个conflicting overloads错误,即使扩展函数是在不同的文件中定义的。

这是否会使定义相同扩展函​​数的不同库相互不兼容?String比如说,两个库都使用相同的名称和参数声明了扩展函数。还有什么办法可以在同一个项目中使用这两个库吗?

0 投票
2 回答
518 浏览

kotlin - Kotlin:如何调用 super 的扩展函数?

如何调用 super 的扩展函数?

例如:

0 投票
1 回答
7664 浏览

kotlin - kotlin 中的全局扩展功能

嘿,我想在 kotlin 中创建一个类,它将包含我将在几个地方使用的所有扩展函数,例如:

有没有办法执行这样的操作

0 投票
2 回答
715 浏览

android - 从 Kotlin 中的另一个类访问静态扩展函数?

假设我们有以下扩展功能:

}

如何从另一个类中plus的类访问扩展功能。Helper有没有一种方法可以让我们做这样的事情,例如:

}