在构造包含 class 时设置 class 的 属性

Setting a property of a class when the containing class is constructed

A class Test 在构造时创建另一个 class 的实例并设置 属性 看起来像这样(我想):

type Test() as this =
    let a = new A()

    do this.Init()

    member this.Init() = 
        let a.Size = 10

但是,我得到了 Block following this 'let' is unfinished. Expect an expression.

执行此操作的正确和首选方法是什么?

如果你想改变 Size 属性,你必须使用赋值运算符:

type Test() as this =
    let a = new A()

    do this.Init()

    member this.Init() = 
        a.Size <- 10

不过,你可以这样写得更简洁:

type Test() =
    let a = A (Size = 10)