问题标签 [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.
saxon - “使用 TinyBuilder 为 null 构建树”对撒克逊扩展功能和使用 -t 选项意味着什么?
使用我的撒克逊扩展功能代码,我有日志消息:
我不清楚是否Building tree for null using class net.sf.saxon.tree.tiny.TinyBuilder
意味着我的代码https://gitlab.com/ms452206/socode20200915有问题以及如何避免它。
kotlin - Comparable 和运算符 compareTo 有什么区别?
可以说我有class A(val foo: Double)
。
我希望能够将它与其他A
,Double
和Int
.
如果我实现Comparable
,我只能将它与另一种对象类型进行比较。
但我也看到了覆盖compareTo
操作符的扩展函数。
这些和我应该使用什么之间有什么区别?我猜如果我想将它与多种类型进行比较,那么我必须使用扩展函数吗?
javascript - 如何在 Typescript 中编写 Kotlinesque 扩展函数?
如果我有这样的情况,我会使用Kotlin :interface
我可以在代码的任何地方编写这样的扩展函数:
在打字稿中,如果我有类似的interface
:
我怎样才能以类似的方式增加它?这是该语言的最佳实践吗?有没有我不知道的替代方案?
kotlin - Kotlin:扩展函数的惯用用法 - 将扩展函数放在它扩展的类旁边
我在 Kotlin 中看到了一些扩展函数的用法,我个人认为这没有意义,但似乎有一些指南“显然”支持它(解释问题)。
具体来说:在类之外定义扩展函数(但在同一个文件中):
广泛使用的地方asXyzFormat()
,并且不能被定义为私有/内部(但也适用于可能的情况)。
在我的常识中,如果您拥有代码AddressDTO
(班级。
- 边缘情况:如果您想避免以 - 开头的函数序列化
get
- 注释类以获得所需的行为(例如@JsonIgnore
在函数上)。这个恕我直言仍然不能证明扩展功能是合理的。
我对此的回应是,官方 Kotlin 编码约定支持具有这种方式的扩展功能的方法。具体来说:
自由使用扩展功能。每次您有一个主要作用于对象的函数时,请考虑将其作为扩展函数接受该对象作为接收器。 资源
和:
特别是,当为一个类定义与该类的所有客户端相关的扩展函数时,请将它们放在定义该类本身的同一文件中。在定义仅对特定客户端有意义的扩展函数时,请将它们放在该客户端的代码旁边。不要仅仅为了保存“Foo 的所有扩展名”而创建文件。 资源
我会感谢任何普遍接受的源/参考解释为什么将函数移动为类的成员和/或实用参数支持这种分离更有意义。
android - 如何在扩展函数中获取 Dagger2 类属性?
我正在使用 Dagger2,并且想在第三方类的扩展函数中使用我的应用程序的版本字符串。该应用程序目前公开版本:
BuildConfigProvider.kt
AndroidBuildConfigProvider.kt
安卓模块.kt
我在不同的扩展函数中看到了这段代码,并决定遵循该模式
所以我创建了一个组件AndroidBuildConfigComponent
我将此代码添加到扩展函数类文件中:
但是, this
带有红色下划线的消息
这在当前上下文中没有定义
有什么方法可以在扩展函数类中获取应用程序上下文来构建组件?
或者更一般地说,有没有办法从 AndroidBuildConfigProvider 获取信息到扩展函数中?
我发现这篇文章谈论协程但无法真正理解大头钉。
第三方 Tracker 类的扩展类 (TrackerExt.kt) 的代码。
kotlin - 如何制作一个在kotlin中打印所有数据类型的扩展函数?
我想制作一个可以应用于所有数据类型的扩展函数(例如命名为(printDatatype))并打印它......例如:
android - 如何将进度条类转换为 kotlin 中的扩展函数?
我有一个自定义进度条类,我想将其转换为扩展函数,以便我可以在项目中的任何位置(片段和活动)使用它而无需初始化。
我希望能够在函数中填充进度条布局,并且还希望能够关闭进度条。
我怎样才能做到这一点?
kotlin - 定义扩展函数时如何在块内使用参数?
定义这种类型时extension function
,如何arguments( Here, the argument of type String)
在块内使用?
像这样定义extension functions
和声明的同时,只能this
用吗?
extension-function - 无法理解 Kotlin Android 中的扩展功能?
我无法理解扩展功能并在我的项目中使用它。有人可以在这里指导我吗?
android - 扩展函数内部的依赖注入
有没有办法在 Android Kotlin 中使用 DI 框架在扩展函数或全局函数中注入对象?
我在很多地方都使用了这个功能。所以我不想每次都传递一个参数。
DI 框架可以是 Koin、Hilt、Dagger2 或其他中的任何一个。
像这样的东西: