Non ti consiglio di scriverlo su una singola riga perché questo significa che sarà un mix tra la sintassi #light (la modalità predefinita ora) e non #light. Se hai davvero bisogno, puoi usare ;; così:
open System
open System.Windows.Forms
let mainForm = new Form()
let contextMenu = new ContextMenuStrip();; mainForm.ContextMenuStrip <- contextMenu;;
Se le espressioni hanno tipo di unità è possibile utilizzare un'espressione esecuzione sequenziale, che è un'espressione della forma:
expr1; expr2; expr3
per esempio:
mainForm.ContextMenuStrip <- contextMenu; 5 + 6 |> ignore; mainForm.ContextMenuStrip <- null
I 'Vorrei aggiungere che Espressioni Esecuzione Sequenziale non hanno nulla a che fare con la modalità non #illuminazione. Sono solo un costrutto di linguaggio generale.
Spero che aiuti.
Perché è stato votato? – rysama
+1, la mia ipotesi è che ci potrebbe essere un effetto collaterale nel setter della proprietà e ha spaventato qualcuno. Mi piace questa sintassi. Incoraggia le persone a scrivere piccoli costruttori e utilizzare invece le proprietà. – gradbot
Oh capisco, sta impostando il valore nel Form, non nel ContextMenuStrip. Quindi non risponde alla domanda anche se ho ancora trovato questa risposta d'uso. let contextMenu = new ContextMenuStrip() let mainForm = new Form (ContextMenuStrip = contextMenu) – gradbot