问题标签 [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 投票
3 回答
4573 浏览

generics - 从 Kotlin 的映射中过滤空键和值

我有一个扩展功能,可以过滤掉带有空键或值的条目:

这适用于具有可为空键和值的映射:

但不是在具有不可为空的键或值的情况下:

有没有办法让我的扩展功能适用于这两种情况,还是我需要提供两个单独的功能?

0 投票
1 回答
123 浏览

function - 访问修饰符对扩展函数有什么影响?

如果我将扩展函数的访问修饰符更改为 会发生什么private?它有什么作用吗?有关系吗?!

private fun String.myExtensionFunction() { // ... }

0 投票
1 回答
42 浏览

android - 为什么接口的方法/属性可以在扩展函数中传递

今天我不得不使用一个扩展函数,它有一个接口作为谓词,一个种类Interface.whateverExtensionFunction() 和一个我有一个class ViewModel () :InterfaceInherithingFromAnotherInterface。背后的架构理念是保持我的 viewModel 整洁,并将一些重量级分配给扩展功能。我不明白为什么在我可以调用扩展函数的任何方法中进入我的 ViewModel,FruitColorsInterface.changeColors()如下面的代码中的方法cut()

不明白怎么可能有效地进入扩展函数,我可以调用接口方法

如果一个类实现了一个接口,这是一个实现接口方法的契约,而不是过多传递一个对象接口已经发生在这个扩展类中**

如果我在 Java 中反编译,我会得到一个静态函数,其中传递了一个接口

0 投票
1 回答
31 浏览

kotlin - 在类/接口中创建扩展函数作为方法的用户案例是什么?

我看到了一些在类/接口中定义的扩展函数的例子,但我不明白这样做的原因。有人可以展示何时实现某些用例的正确方法吗?

一个我不太了解的特定示例:

0 投票
2 回答
155 浏览

kotlin - 如何在内部定义带有 sharedPreferences 的顶级函数?

我试图让这个函数可以从所有文件中访问,但是如果我在 Kotlin 文件的类之外定义它,它会显示getSharedPreferencesas 的错误unresolved reference。我认为这是我的答案,但我不知道如何声明顶级函数。怎么做?

0 投票
1 回答
135 浏览

generics - 如何限制泛型扩展函数参数类型?

我尝试使用列表扩展功能 binarySearch

这是我的定义:

函数 binarySearch 不能接​​受 String 类型,但可以接受 ZZZZ 的超类型。我认为第一个参数只接受 ZZZZ 类型,因为定义了 List < T >,但为什么它可以接受 ZZZZ 的所有超类型?

更新:

我创建了一个这样的列表扩展函数:

我发现它可以接受多种类型,相关问题如下: How to write strong typed generic extension function in Kotlin?

binarySearch()功能是否与ccc()?

为什么ccc()不仅可以接受ZZZZ的超类型,还可以接受其他的?

再次感谢您的帮助!

0 投票
1 回答
272 浏览

kotlin - 从 kotlin.text 包中从 Java 调用 Kotlin 扩展函数

我正在尝试使用我的 Java 代码toRegex()中的包中的扩展功能。kotlin.text这是该文件的代码:

不幸的是,我没有成功从 Java 代码调用该函数。我想我错过了一些东西。这是我的尝试:

不编译。

0 投票
1 回答
30 浏览

android - 如何通过扩展函数编写我自己的

我有一个这样的默认功能:

我看到有by操作符,它可以用于这样的视图模型:

问题:如何为我的makeDefault()?

我想做的事:

0 投票
1 回答
589 浏览

android - 使用 Kotlin 创建扩展函数以将资源分配给 ImageView

我开始使用 Kotlin 有趣的扩展。我已经创建了一些对我来说可以正常工作的东西,但是我有一个 ImageView 上下文不起作用,我不明白为什么。

扩展功能是这样的:

这个想法是,根据您作为参数传递的数字 (Int),将一个或另一个图像分配给 ImageView。

我调用它如下:

但是ID指示错误:

我认为上下文必须是 ImageView

我究竟做错了什么?

非常感谢和问候。

0 投票
0 回答
27 浏览

kotlin - 扩展函数的主变量约定

我的问题不是真正的技术性问题,因此没有明确的对错。对于扩展函数,我有一个包,其中包含每个类型的文件:Context.kt 包含 Context 的所有扩展函数,Uri.kt 包含 Uri 的所有扩展函数,依此类推。

在重构我的项目时,我遇到了这两个函数:

完全相同的功能,扩展了不同的类型。如果一个函数依赖于多个变量,是否有任何约定,要扩展哪种类型?