如何将委托事件从 C# 转换为需要 2 个输入和 1 个输出参数的 Kotlin?

问题描述

我正在将一个库从 c# 移植到 kotlin,并且在一个类中我有一个委托事件,它有 2 个输入参数和一个输出参数

public delegate bool MyDelegate(int para1,int param2)

public event MyDelegate IsFinished


这个事件也在定义它的类的函数中调用

if(IsFinished){
//do somethings
}

所有这些,在 kotlin 中,我该如何翻译?

实际上,我试图创建一个模拟事件的类

class EventTwoReturnBoolean<T,U> {

    private val observers = mutableSetOf<(T,U) -> Boolean>()

    operator fun plusAssign(observer: (T,U) -> Boolean) {
        observers.add(observer)
    }

    operator fun minusAssign(observer: (T,U) -> Boolean) {
        observers.remove(observer)
    }

    operator fun invoke(value: T,value2: U) : Boolean {
        var bool : Boolean = true
        for (observer in observers){
            bool = observer(value,value2)
        }
            return bool
    }

}

这是一个有效的解决方案吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)