[英]F# WPF set a member value of an object after the constructor
我之前有這個問題,當我嘗試設置WPF窗口的高度時,會出現以下錯誤:
unexpected identifier in member definition
通過在構造函數中設置所有成員的值,我找到了一種解決方法。
我的舊代碼如下所示:
module UI=
type Display () =
let window = new Window()
window.Height <- 600
我這樣做可以使它正常工作:
module UI=
type Display () =
let window = new Window(Height = 600.00, Width = 800.00)
但是我不禁想知道在調用窗口構造函數之后是否有某種方法可以設置高度(或其他成員)?
我說這是因為。 運算符對我來說非常有用,因為我仍在學習.NET框架,所以我不知道特定類的所有成員。 我寧願使用。 操作員瀏覽其成員,看看是否有其他需要在線訪問MSDN的事情。 另外,如果我在構造函數中設置了很多成員值,則很難閱讀。
我需要將窗口聲明為可變的嗎?
實際上,經過一些仔細的研究。 我發現我需要做裝訂。
如在MSDN上明確指出這里
do綁定在let綁定中或之后出現,但在類定義中的成員定義之前出現。 盡管do關鍵字對於模塊級別的do綁定是可選的,但對於類定義中的do綁定不是可選的。
即使您的main方法的類似乎不需要它們,其他類也需要它們。
module UI=
type Display () =
let window = new Window()
do window.Height <- 600.00
window.Width <- 800.00
請記住,執行的任何其他代碼也必須與do縮進,例如window.Width <-800.00是。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.