问题标签 [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.
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 绑定没有正确设置。
如何明确指定我要使用类方法而不是扩展函数?
c# - 如何在另一个类中使用扩展函数?C#
我有几个想要在类之间传输的扩展函数。
我有一个名为Helpers.cs的类,我想要以下内容:
在我的其他类Impliment.cs中,我想要以下内容:
我该如何实施?
java - 从 Java 访问 Kotlin 扩展函数
是否可以从 Java 代码访问扩展功能?
我在 Kotlin 文件中定义了扩展函数。
MyModel
(生成的)java类在哪里。现在,我想在我的普通 java 代码中访问它:
但是,这是行不通的。IDE 无法识别该bar()
方法并且编译失败。
使用来自 kotlin 的静态函数起作用的是:
通过使用import com.test.extensions.ExtensionsPackage
,我的 IDE 似乎配置正确。
我从 kotlin 文档中搜索了整个 Java-interop 文件,也搜索了很多,但我找不到它。
我究竟做错了什么?这甚至可能吗?
android - Kotlin 扩展函数
考虑到这一点:
可以简化为:
或者,如果您愿意,可以这样做:
无论如何通过这样做来完成同样的事情:
kotlin - 可以以“静态”方式调用扩展函数吗?
是否可以创建一个扩展函数并像静态一样调用它?
例如...
我知道代码示例不起作用...
我知道 kotlin 的扩展函数是静态解析的,如Kotlin Reference (Extension Functions)中所述,但这并不意味着它们可以像类中的静态函数一样被调用(在 Java 意义上)。
我也知道这段代码不起作用,因为没有 System 实例可以传递给编译器将生成的方法;因此它不会编译。
我为什么要这个?
你们中的一些人可能想知道为什么这种行为是可取的。我能理解为什么你会认为不是,所以这里有一些原因:
- 它具有标准扩展功能提供的所有好处。
- 不需要创建类 的实例来访问额外的功能。
- 可以从应用程序范围的上下文中访问这些函数(假设类是可见的)。
总结...
Kotlin 有办法将静态函数“挂钩”到类上吗?我很想知道。
generics - 扩展函数内的 Kotlin KClass 实例
我需要访问通用扩展函数中的类类型。例如,如果我想创建一个扩展函数来返回我正在扩展的类型的成员的集合,我会这样做:
问题是我不能在函数内部执行 this::class 或 T::class 。有没有办法访问泛型类型的类类型?
kotlin - 扩展功能碰撞
当我定义两个具有相同签名的扩展函数时,我得到一个conflicting overloads
错误,即使扩展函数是在不同的文件中定义的。
这是否会使定义相同扩展函数的不同库相互不兼容?String
比如说,两个库都使用相同的名称和参数声明了扩展函数。还有什么办法可以在同一个项目中使用这两个库吗?
kotlin - Kotlin:如何调用 super 的扩展函数?
如何调用 super 的扩展函数?
例如:
kotlin - kotlin 中的全局扩展功能
嘿,我想在 kotlin 中创建一个类,它将包含我将在几个地方使用的所有扩展函数,例如:
有没有办法执行这样的操作
android - 从 Kotlin 中的另一个类访问静态扩展函数?
假设我们有以下扩展功能:
}
如何从另一个类中plus
的类访问扩展功能。Helper
有没有一种方法可以让我们做这样的事情,例如:
}