我之前遇到过这个问题,当我尝试设置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。另外,如果我在构造函数中设置了很多成员值,则难以阅读。我是否需要将窗口声明为可变?
答案 0 :(得分:2)
实际上经过一些仔细的研究。我发现我需要做一个绑定。
在MSDN上明确说明here
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&lt; - 800.00 is。