作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想菊花链连接我的配套对象函数。示例:
Company.addUser("bob").deleteUser("steve")
class Company {
companion object {
fun addUser(name: String): Company {
// add user code goes here
return Company
}
fun deleteUser(name: String): Company {
// add code to delete user
return Company
}
}
}
这当然不会编译。我如何从函数中返回伴生对象,以便我可以在调用中使用它们?
最佳答案
Kotlin 中并不真正需要这种“流畅”的界面,因为有多种替代方案不需要更改被调用的代码。例如:
with(Company) {
addUser("bob")
deleteUser("steve")
}
和:
Company.apply {
addUser("bob")
deleteUser("steve")
}
并且由于 apply()
返回调用它的对象,如果您想分配或使用结果,后一个示例也适用。
您通常会在类实例中看到这些模式,但它们也适用于伴随对象。
它们比“流畅”的界面更灵活,而且几乎一样简洁。 (当然,如果需要,您可以将它们中的每一个压缩到一行中,用 ;
分隔语句,但是将它们放在不同的行中更具可读性——这通常也适用于“流畅”调用!)
关于kotlin - 返回菊花链伴随对象的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68767578/
我有两个伴随的仿函数,即它们成对出现如果一个是 doX() ,另一个将是 undoX()。 它们是这样声明的: template struct doSomething{
我想看看是否有任何工具或引擎可以将 Ecore(元)模型转换为合金规范? 如果它在考虑伴随的 OCL 表达式的情况下进行这种翻译,那就太好了 :) 谢谢 最佳答案 关于在 Alloy 和 UML 之间
所以我正在按照 ASP.NET 和 MVC 5 一书中的示例进行操作。这是导致错误的 View : @model SportsStore.WebUI.Models.ProductsListViewMo
我是一名优秀的程序员,十分优秀!