さて、今回はちょっと次への布石としてC#とかでいうeventをどうやって定義するかということの元ネタとなるものを使ってみようと思います。その名もEventクラスやIEvent
// string型を引数として渡すイベントの元ネタを作成
let eventSource = Event<string>()
// Publishでイベントを作成
let event = eventSource.Publish
// イベントが呼ばれた時に呼ばれる関数を定義
let eventHandler s = printfn "event fire!! %s" s
// イベントハンドラを追加
event.Add eventHandler
// Triggerでイベント発行
eventSource.Trigger("ご〜!")上から順番にコメントに書いてある通りです。これを実行すると以下のようになります。
event fire!! ご〜!
Event
簡単ですね。メモメモ。