aan*_*ann 5 f# properties variable-assignment
如何在一行中编写以下F#代码(或类似代码):
let contextMenu = new ContextMenuStrip()
mainForm.ContextMenuStrip <- contextMenu
Run Code Online (Sandbox Code Playgroud)
我必须声明contextMenu,因为稍后将需要它.
我不建议你把它写在一行上,因为这意味着它将是#light(现在默认模式)和非#light语法之间的混合.如果你真的需要,你可以使用;; 像那样:
open System
open System.Windows.Forms
let mainForm = new Form()
let contextMenu = new ContextMenuStrip();; mainForm.ContextMenuStrip <- contextMenu;;
Run Code Online (Sandbox Code Playgroud)
如果表达式具有单元类型,则可以使用顺序执行表达式,它是表单的表达式:
expr1; expr2; expr3
Run Code Online (Sandbox Code Playgroud)
例如:
mainForm.ContextMenuStrip <- contextMenu; 5 + 6 |> ignore; mainForm.ContextMenuStrip <- null
Run Code Online (Sandbox Code Playgroud)
我想补充一点,顺序执行表达式与非#light模式无关.它们只是一种通用的语言结构.
希望能帮助到你.
您可以在构造函数中将public,writeable属性设置为伪参数.
let contextMenu = new ContextMenuStrip()
let form = new Form(ContextMenuStrip = contextMenu)
Run Code Online (Sandbox Code Playgroud)
你也可以输入
let contextMenu = new ContextMenuStrip() in mainForm.ContextMenuStrip <- contextMenu
Run Code Online (Sandbox Code Playgroud)
这是OCAMl语法,IIRC.
编辑:更清楚:这也是有效的(#light)F#语法,因为F#基于OCaml.
即使我喜欢短程序,我也不建议这样做.
| 归档时间: |
|
| 查看次数: |
1290 次 |
| 最近记录: |