Tag: 咖喱

将函数传递给Kotlin中的函数

我开始和Kotlin一起使用Vaadin,并创建了以下扩展方法: fun AbstractComponentContainer.addButton(buttonText : String = "", icon : FontIcon? = null, function : (() -> Unit)? = null) { val button = Button(buttonText) if (icon != null) { button.icon = icon } if (function!=null) { button.addClickListener { function() } } this.addComponent(button) } 这可以让我添加一个按钮到一个容器,一个可选的点击监听器(和一个可选的图标)。 我现在想要添加两个按钮到组件,一个用于向下,一个向下,允许我上下移动项目。 因此,我想调用addButton()两次。 lambda中的逻辑将是相同的,唯一的区别是在一个项目的位置将增加,在另一个递减。 我想创建一个函数,可以传递给addClickListener ,并保存我写两个函数做几乎相同的事情,我希望能够传递给该函数的引用Long::plusAssign和Long::minusAssign 。 我无法得到它的工作。 它不会编译,或者运行时得到ClassCastException 。 这是我必须: val […]