F#对象在成员之前引用self绑定

use*_*285 5 f#

在成员定义之前,对象是否可以引用自身?像这样的东西:

type public ClassA () = class
    let b = new ClassB(this)
    member public x.getClassB() = b
    end
Run Code Online (Sandbox Code Playgroud)

其中'this'是对创建ClassB的ClassA实例的引用?

Lee*_*Lee 6

类可以使用as以下命令在其构造函数中引用自己:

type public ClassA () as this = 
    let b = new ClassB(this)
    member public x.getClassB() = b
and public ClassB (a: ClassA) =
    member public x.getClassA() = a
Run Code Online (Sandbox Code Playgroud)