2013-02-03 119 views
3

我有兩行代碼在這裏:F#功能參數

let stuff _ _ = MessageBox.Show("This is doing stuff") |> ignore 
let stuffHandler = new EventHandler(stuff) 

我剛開始使用F#,想知道是什麼原因,如果我刪除代碼不能編譯從東西可變強調 ?據我所知,下劃線意味着忽略某些東西,所以這裏應該忽略什麼?

+0

提示:鑑於'新的EventHandler(東西)',你可以推斷出這一點; p – leppie

+0

所以你的意思是它與參數有關?它必須有void返回類型,所以__它如何返回void? ) – Micha

+0

@Micha它沒有。 EventHandler構造函數需要一個帶有兩個參數的函數。 '_'s使'stuff'成爲兩個參數函數 - 每個'_'都是一個形式參數名稱。這只是一個約定,用'_'命名你不需要的東西。 – MisterMetaphor

回答

6

EventHandler代表需要一個帶有2個參數的函數,即sender和EventArgs。

+0

感謝您的回答! – Micha