我知道this question,但询问者似乎对另一个问题(如何重载构造函数)的回答感到满意。

我有一个类,它充当可变类的高级内存者,因此我可以从外部将其视为不可变的:

type Wrapper(args) =
    let tool = new MutableTool()
    tool.Init(args)  //<--"Unexpected identifier in definition"

    let lookupTable = //create lookup using tool here
    member this.Lookup(s) = //callers use lookupTable here

我不知道如何在“工具”上调用Init方法。我想念什么?

最佳答案

IIRC,do关键字可能在这里工作:

type Wrapper(args) =
    let tool = new MutableTool()
    do tool.Init(args)

    let lookupTable = //create lookup using tool here
    member this.Lookup(s) = //callers use lookupTable here

我不确定您对最后一行代码的含义,因此在您编写代码时我将其保留了下来...

关于f# - 如何在F#中从构造函数调用方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1624571/

10-09 00:20