2
我对difference between private members and let bindings有一些了解。 它可以帮助我澄清我的疑虑理解为什么这样的事情是不可能的为什么只有在私人会员才有可能?
type B() =
inherit A()
let doSomething() =
base.CallToA()
是,以防止施工期间部分构造的对象或某些泄漏?
我对difference between private members and let bindings有一些了解。 它可以帮助我澄清我的疑虑理解为什么这样的事情是不可能的为什么只有在私人会员才有可能?
type B() =
inherit A()
let doSomething() =
base.CallToA()
是,以防止施工期间部分构造的对象或某些泄漏?
base
关键字仅用于调用虚拟方法的基类实现。这是唯一的情况下,您需要base
,因为您不能使用this
实例调用方法(因为它会引用当前类中的覆盖)。
编译器希望阻止您访问部分构造的对象,但部分正确。然而,这是需要你明确地说,你想用as this
能够指在构造函数中当前实例进行: - 类似于成员声明 -
type B() as this =
inherit A()
let doSomething() =
this.CallToA()
标识符this
仅仅是一个名称,以便你可以在那里使用其他名称。