2013-02-03 89 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