Skip to content

Instantly share code, notes, and snippets.

View 0nko's full-sized avatar
🏠
Working from home

Ondrej Ruttkay 0nko

🏠
Working from home
View GitHub Profile
@0nko
0nko / events.kt
Created July 29, 2017 16:10
C#-style events in Kotlin
fun main(args: Array<String>) {
val duck = Duck()
duck.talked += { said -> println("Duck: $said") }
duck.poke()
}
class Event<T>(val eventHandler: EventHandler<T>) {
operator fun plusAssign(observer: (T) -> Unit) { eventHandler.observers.add(observer) }
operator fun minusAssign(observer: (T) -> Unit) { eventHandler.observers.remove(observer) }